class AmemberPro::Parameters
Attributes
args[RW]
key[RW]
parameters[RW]
value[RW]
Public Class Methods
new(&block)
click to toggle source
# File lib/amember_pro/parameters.rb, line 45 def initialize &block self.parameters = Hash.new self.instance_eval(&block) if block_given? end
Public Instance Methods
add(key, value)
click to toggle source
# File lib/amember_pro/parameters.rb, line 50 def add key, value self.parameters[key.to_s] = value.to_s self.parameters end
delete(key)
click to toggle source
# File lib/amember_pro/parameters.rb, line 30 def delete key self.parameters.to_hash.delete(key.to_s) end
method_missing(method, *args)
click to toggle source
# File lib/amember_pro/parameters.rb, line 8 def method_missing method, *args self.args = args self.key = method.to_s self.value = self.args[0] case method when :format underscore_prefix self.value ||= 'json' when :count underscore_prefix self.value ||= '20' when :page underscore_prefix self.value ||= '0' when :filter underscore_prefix filterify end add self.key.to_s, self.value.to_s end
nested(nest)
click to toggle source
# File lib/amember_pro/parameters.rb, line 34 def nested nest unless nest.is_a? AmemberPro::Parameters::Nested raise "Nest must be of type AmemberPro::Parameters::Nested" end self.parameters.merge!(nest.to_hash) end
to_hash()
click to toggle source
# File lib/amember_pro/parameters.rb, line 55 def to_hash self.to_s end
to_s()
click to toggle source
# File lib/amember_pro/parameters.rb, line 59 def to_s current_params end
underscore_prefix()
click to toggle source
# File lib/amember_pro/parameters.rb, line 41 def underscore_prefix self.key = self.key.insert(0, '_') end
Private Instance Methods
current_params()
click to toggle source
# File lib/amember_pro/parameters.rb, line 71 def current_params self.parameters end
filterify()
click to toggle source
# File lib/amember_pro/parameters.rb, line 65 def filterify fieldname = self.args[0] self.key = "#{self.key}[#{fieldname}]" self.value = args[1] end