class EasyPing::Action
Constants
- CHANNELS
Attributes
client[R]
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/easy_ping/action.rb, line 27 def initialize(config) @config = config @client = EasyPing::Client.new(config.api_base, config.api_key) end
Public Instance Methods
from_notification(params)
click to toggle source
# File lib/easy_ping/action.rb, line 32 def from_notification(params) EasyPing::Model::Wrapper.new(params, config) end
Private Instance Methods
compile(options)
click to toggle source
# File lib/easy_ping/action.rb, line 41 def compile(options) mappings.each do |*group| raise ParametersInvalid, "more than one of #{group} options set" if (options.keys & group).length > 1 end Hash[options.map {|k, v| mappings.key?(k) ? [mappings[k], v] : [k, v] }] end
verify!(options, requires)
click to toggle source
# File lib/easy_ping/action.rb, line 48 def verify!(options, requires) missing_parameters = requires - options.keys.map(&:to_s) if missing_parameters.length > 0 raise MissingRequiredParameters, %Q{#{missing_parameters} is required for this action.} end if options['channel'] && !CHANNELS.include?(options['channel'].to_s) raise ParametersInvalid, %Q{#{options['channel']} is not valid channel for this action.} end end