class Artoo::Api::Server
Artoo
API Server
provides an interface to communicate with master class and retrieve information about robots being controlled
Public Class Methods
new(host = "127.0.0.1", port = 3000)
click to toggle source
Create new API server @param [String] host @param [Int] port
Calls superclass method
# File lib/artoo/api/api.rb, line 16 def initialize(host = "127.0.0.1", port = 3000) super(host, port, &method(:on_connection)) end
Public Instance Methods
on_connection(connection)
click to toggle source
Dispatches connection requests
# File lib/artoo/api/api.rb, line 21 def on_connection(connection) while !connection.current_request && request = connection.request dispatch!(connection, request) end end
Protected Instance Methods
command_params()
click to toggle source
# File lib/artoo/api/api.rb, line 173 def command_params if @req.body.to_s != "" data = MultiJson.load(@req.body.to_s, :symbolize_keys => true) data.values end end
device(robot_id, device_id)
click to toggle source
# File lib/artoo/api/api.rb, line 138 def device(robot_id, device_id) master.robot_device(robot_id, device_id) end
master()
click to toggle source
# File lib/artoo/api/api.rb, line 134 def master Actor[:master] end
validate_params!()
click to toggle source
# File lib/artoo/api/api.rb, line 142 def validate_params! robot = @params['robotid'] device = @params['deviceid'] connection = @params['connectionid'] if robot @robot = master.robot(robot) unless @robot @error = "No Robot found with the name #{robot}" raise RobotNotFound end end if device @device = @robot.devices[device.intern] unless @device @error = "No device found with the name #{device}" raise RobotNotFound end end if connection @conn = @robot.connections[connection.intern] unless @conn @error = "No connection found with the name #{connection}" raise RobotNotFound end end end