Class: CommissionJunction::CjObject
- Inherits:
-
Object
- Object
- CommissionJunction::CjObject
- Defined in:
- lib/commission_junction.rb
Direct Known Subclasses
Instance Method Summary collapse
- #clean_key_name(name) ⇒ Object
-
#initialize(params) ⇒ CjObject
constructor
A new instance of CjObject.
Constructor Details
#initialize(params) ⇒ CjObject
Returns a new instance of CjObject.
173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/commission_junction.rb', line 173 def initialize(params) raise ArgumentError, "params must be a Hash; got #{params.class} instead" unless params.is_a?(Hash) raise ArgumentError, 'Expecting at least one parameter' unless params.size > 0 # Create instance variables and attribute readers on the fly. # Credit: http://listlibrary.net/ruby-talk/2004/03/00sGI1cD params.each do |key, val| raise ArgumentError, "key must be a String; got #{key.class} instead" unless key.is_a?(String) clean_key = clean_key_name(key) instance_variable_set("@#{clean_key}".intern, val) instance_eval %Q{ class << self ; attr_reader #{clean_key.intern.inspect} ; end } end end |
Instance Method Details
#clean_key_name(name) ⇒ Object
187 188 189 |
# File 'lib/commission_junction.rb', line 187 def clean_key_name(name) name.strip.gsub(/\s/, '_') end |