Sha256: a73d135c7320cdbf51f84db6cb948237ba93ad8bbba2ac08c1a2483923f34857

Contents?: true

Size: 837 Bytes

Versions: 22

Compression:

Stored size: 837 Bytes

Contents

# frozen_string_literal: true

# :reek:NilCheck

module Evostream
  # Send an action to evostream server
  class Action
    @uri_in = nil

    def initialize(payload = {}, uri_in = nil)
      @payload = payload
      @uri_in = uri_in
    end

    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

    def get_class(cmd)
      "Evostream::Commands::#{cmd}".constantize
    rescue
      message = "Command [#{cmd}] dosen't exist."
      puts message
      Evostream.logger message
    end

    def get_cmd(klass)
      klass.new(@payload).cmd
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
evostream-event-2.0.3 lib/evostream/action/action.rb
evostream-event-2.0.3.pre.1265906291 lib/evostream/action/action.rb
evostream-event-2.0.3.pre.1265756691 lib/evostream/action/action.rb
evostream-event-2.0.3.pre.1265752332 lib/evostream/action/action.rb
evostream-event-2.0.2 lib/evostream/action/action.rb
evostream-event-2.0.2.pre.994185738 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.994170151 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.994165179 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.994159616 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.856454391 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.856447460 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.856441003 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.816370746 lib/evostream/action/action.rb
evostream-event-2.0.0.pre.809444619 lib/evostream/action/action.rb
evostream-event-1.0.3 lib/evostream/action/action.rb
evostream-event-1.0.3.pre.95 lib/evostream/action/action.rb
evostream-event-1.0.3.pre.93 lib/evostream/action/action.rb
evostream-event-1.0.3.pre.91 lib/evostream/action/action.rb
evostream-event-1.0.3.pre.83 lib/evostream/action/action.rb
evostream-event-1.0.2 lib/evostream/action/action.rb