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

Class Method Details

.allObject



29
30
31
# File 'lib/robot_lab/web/registry.rb', line 29

def all
  store.values
end

.clearObject



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

.namesObject



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

.storeObject



10
11
12
# File 'lib/robot_lab/web/registry.rb', line 10

def store
  @store ||= {}
end