class Rack::TradeTracker::Parameters

Constants

CAMPAIGN_ID_PARAM
MISSING_PARAM_VALUE
MissingParametersError
PERMITTED_PARAMS
TT_PARAM

Attributes

params[R]

Public Class Methods

new(params) click to toggle source
# File lib/rack/trade_tracker/parameters.rb, line 17
def initialize(params)
  @params = params
  if params.include?(CAMPAIGN_ID_PARAM)
    extend Paired
  elsif params.include?(TT_PARAM)
    extend Delimited
  else
    fail MissingParametersError.new("URL must include either '#{CAMPAIGN_ID_PARAM}' or '#{TT_PARAM}' parameter")
  end
end

Public Instance Methods

to_hash() click to toggle source
# File lib/rack/trade_tracker/parameters.rb, line 28
def to_hash
  PERMITTED_PARAMS.each_with_object({}) do |param, result|
    key = param.underscore.to_sym
    result[key] = send(key)
  end.merge(redirect_url: redirect_url)
end