Class: Agent

Inherits:
Object
  • Object
show all
Includes:
Celluloid, Celluloid::Internals::Logger
Defined in:
lib/agens/agent.rb

Defined Under Namespace

Classes: NotImplementedError

Instance Method Summary collapse

Constructor Details

#initializeAgent

Returns a new instance of Agent.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/agens/agent.rb', line 9

def initialize
  @sensor_classes = {}
  @actuator_classes = {}
  @sensors = {}
  @actuators = {}
  
  setup
  
  @sensor_classes.each do |name, sensor_clazz|
    sensor = sensor_clazz.new_link
    @sensors[name] = sensor
  end
  
  @actuator_classes.each do |name, actuator_clazz|
    actuator = actuator_clazz.new_link
    @actuators[name] = actuator
  end
  
  self.async.think_loop
end

Instance Method Details

#to_sObject



30
31
32
33
34
35
36
37
38
# File 'lib/agens/agent.rb', line 30

def to_s
  s = "Agent #{self.class.name}:\n"
  s << " Sensors:\n"
  @sensor_classes.each {|n, _| s << "    <- #{n}\n"}
  s << " Actuators:\n"
  @actuator_classes.each {|n, _| s << "    -> #{n}\n"}
  
  s
end