Class: Wave::Robot

Inherits:
Object
  • Object
show all
Includes:
Events
Defined in:
lib/wave/robot.rb

Defined Under Namespace

Classes: Error

Constant Summary

Constants included from Events

Events::EVENTS

Instance Attribute Summary collapse

Attributes included from Events

#events

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Robot

Returns a new instance of Robot.

Raises:



44
45
46
47
48
49
50
# File 'lib/wave/robot.rb', line 44

def initialize(name, options = {})
  raise Error, "Each Robot requires a name" if name.empty?
  raise Error, "Each Robot requires an image_url" unless options[:image_url]
  raise Error, "Each Robot requires a profile_url" unless options[:profile_url]
  @name = name
  @options = options
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



42
43
44
# File 'lib/wave/robot.rb', line 42

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



42
43
44
# File 'lib/wave/robot.rb', line 42

def options
  @options
end

Class Method Details

.define(name, options = {}) {|instance| ... } ⇒ Object

Yields:

  • (instance)


36
37
38
39
40
# File 'lib/wave/robot.rb', line 36

def self.define(name, options = {}, &block)
  instance = new(name, options)
  yield instance if block_given?
  instance
end