class Logux::Action

Attributes

parameters[R]

Public Class Methods

new(parameters = {}) click to toggle source
# File lib/logux/action.rb, line 23
def initialize(parameters = {})
  raise ArgumentError, :parameters unless parameters.is_a?(Hash)

  @parameters = parameters.transform_keys(&:to_s)
end

Public Instance Methods

[](key) click to toggle source
# File lib/logux/action.rb, line 60
def [](key)
  parameters[key.is_a?(Symbol) ? key.to_s : key]
end
action_name() click to toggle source
# File lib/logux/action.rb, line 29
def action_name
  type&.split('/')&.dig(0)
end
action_type() click to toggle source
# File lib/logux/action.rb, line 33
def action_type
  type&.split('/')&.last
end
channel() click to toggle source
# File lib/logux/action.rb, line 49
def channel
  fetch('channel')
end
channel_id() click to toggle source
# File lib/logux/action.rb, line 41
def channel_id
  channel&.split('/')&.last
end
channel_name() click to toggle source
# File lib/logux/action.rb, line 37
def channel_name
  channel&.split('/')&.dig(0)
end
fetch(key) click to toggle source
# File lib/logux/action.rb, line 53
def fetch(key)
  value = self[key]
  raise ParameterMissingError, key if value.to_s.empty?

  value
end
type() click to toggle source
# File lib/logux/action.rb, line 45
def type
  fetch('type')
end