Module: RobotLab::Web::Registry
- Defined in:
- lib/robot_lab/web/registry.rb
Overview
In-memory registry of the robots the web UI can drive, keyed by name. The host app registers robots at boot; the Sinatra app reads from here.
Class Method Summary collapse
- .all ⇒ Object
- .clear ⇒ Object
- .fetch(name) ⇒ Object
- .names ⇒ Object
-
.register(robot, name: nil) ⇒ Object
Register a robot (anything responding to #run and #name).
- .store ⇒ Object
Class Method Details
.all ⇒ Object
29 30 31 |
# File 'lib/robot_lab/web/registry.rb', line 29 def all store.values end |
.clear ⇒ Object
33 34 35 |
# File 'lib/robot_lab/web/registry.rb', line 33 def clear store.clear end |
.fetch(name) ⇒ Object
21 22 23 |
# File 'lib/robot_lab/web/registry.rb', line 21 def fetch(name) store[name.to_s] end |
.names ⇒ Object
25 26 27 |
# File 'lib/robot_lab/web/registry.rb', line 25 def names store.keys.sort end |
.register(robot, name: nil) ⇒ Object
Register a robot (anything responding to #run and #name).
15 16 17 18 19 |
# File 'lib/robot_lab/web/registry.rb', line 15 def register(robot, name: nil) key = (name || robot.name).to_s store[key] = robot key end |
.store ⇒ Object
10 11 12 |
# File 'lib/robot_lab/web/registry.rb', line 10 def store @store ||= {} end |