class AmemberPro::Parameters::Nested

Attributes

args[RW]
nest[RW]
nested[RW]

Public Class Methods

new(nest, &block) click to toggle source
# File lib/amember_pro/parameters.rb, line 81
def initialize nest, &block
  self.nest = nest.to_s
  self.args = []
  self.instance_eval(&block) if block_given?
  nestify
end

Public Instance Methods

<<(params) click to toggle source
# File lib/amember_pro/parameters.rb, line 88
def << params
  unless params.is_a? AmemberPro::Parameters
    raise "params must be of type AmemberPro::Parameters"
  end
  self.args << params.to_hash
end
nestify() click to toggle source
# File lib/amember_pro/parameters.rb, line 103
def nestify
  self.nested = Hash.new
  unless self.args.empty?
    self.args.each_with_index do |arg, index|
      n = "nested[#{self.nest}][#{index}]"
      arg.each do |key,val|
        k = "#{n}[#{key}]"
        self.nested[k] = val
      end
    end
  else
    self.nested["_nested[]"] = self.nest
  end
end
to_hash() click to toggle source
# File lib/amember_pro/parameters.rb, line 95
def to_hash
  self.to_s
end
to_s() click to toggle source
# File lib/amember_pro/parameters.rb, line 99
def to_s
  self.nested
end