class Pantograph::CommandParser

Public Class Methods

handle_new_style_commands(command_json: nil) click to toggle source
# File pantograph/lib/pantograph/server/command_parser.rb, line 16
def self.handle_new_style_commands(command_json: nil)
  command_type = command_json['commandType'].to_sym
  command = command_json['command']

  case command_type
  when :action
    return ActionCommand.new(json: command)
  when :control
    return ControlCommand.new(json: command)
  end
end
handle_old_style_action_command(command_json: nil) click to toggle source
# File pantograph/lib/pantograph/server/command_parser.rb, line 28
def self.handle_old_style_action_command(command_json: nil)
  return ActionCommand.new(json: command_json)
end
intercept_old_done_command() click to toggle source
# File pantograph/lib/pantograph/server/command_parser.rb, line 32
def self.intercept_old_done_command
  return ControlCommand.new(json: '{"command":"done"}')
end
parse(json: nil) click to toggle source
# File pantograph/lib/pantograph/server/command_parser.rb, line 7
def self.parse(json: nil)
  if json.strip == "done"
    return intercept_old_done_command
  end

  command_json = JSON.parse(json)
  return handle_new_style_commands(command_json: command_json)
end