class Evostream::Action

Send an action to evostream server

Public Class Methods

new(payload = {}, uri_in = nil) click to toggle source
# File lib/evostream/action/action.rb, line 10
def initialize(payload = {}, uri_in = nil)
  @payload = payload
  @uri_in = uri_in
end

Public Instance Methods

execute_action(command_name) click to toggle source
# File lib/evostream/action/action.rb, line 15
def execute_action(command_name)
  cmd = command_name.sub(/^(\w)/, &:capitalize)
  klass = get_class(cmd)

  Evostream.logger "Execute action with cmd : #{klass}"
  Evostream.logger "to Evostream instance : #{@uri_in}" if @uri_in.nil?

  Evostream.send_command(get_cmd(klass), @uri_in)
end

Private Instance Methods

get_class(cmd) click to toggle source
# File lib/evostream/action/action.rb, line 27
def get_class(cmd)
  "Evostream::Commands::#{cmd}".constantize
rescue
  message = "Command [#{cmd}] dosen't exist."
  puts message
  Evostream.logger message
end
get_cmd(klass) click to toggle source
# File lib/evostream/action/action.rb, line 35
def get_cmd(klass)
  klass.new(@payload).cmd
end