class Specter::Request

Attributes

args[R]
command[R]

Public Class Methods

new(command, args) click to toggle source
# File lib/specter/request.rb, line 23
def initialize(command, args)
  if command.nil? || command.empty?
    raise RequestError, 'command not supplied'
  end

  @command = command.to_sym
  @args = args
end
parse(raw) click to toggle source
# File lib/specter/request.rb, line 6
def self.parse(raw)
  begin
    message = JSON.parse(raw)
  rescue JSON::ParserError
    raise RequestError, $!
  end

  command = message['command']
  args = message['parameter'].to_s.split(',')

  new(command, args)
end

Public Instance Methods

execute(client) click to toggle source
# File lib/specter/request.rb, line 32
def execute(client)
  client.send(command, *args)
end
inspect() click to toggle source
# File lib/specter/request.rb, line 36
def inspect
  "#<#{self.class} command:#{command}, args:#{args.inspect}>"
end