class SimpleParams::NestedClassList

Attributes

parent[R]

Public Class Methods

new(parent) click to toggle source
# File lib/simple_params/nested_class_list.rb, line 5
def initialize(parent)
  @parent = parent
end

Public Instance Methods

class_instances() click to toggle source
# File lib/simple_params/nested_class_list.rb, line 23
def class_instances
  nested_class_hash.each_pair.inject([]) do |array, (_key, value)|
    array << value
    array.flatten.compact
  end
end
get_class_key(klass) click to toggle source
# File lib/simple_params/nested_class_list.rb, line 13
def get_class_key(klass)
  nested_class_hash.each do |key, value|
    if value.is_a?(Array)
      return key if value.include?(klass)
    else
      return key if value == klass
    end
  end
end
to_hash() click to toggle source
# File lib/simple_params/nested_class_list.rb, line 9
def to_hash
  nested_class_hash
end

Private Instance Methods

get_nested_class_from_parent(klass) click to toggle source
# File lib/simple_params/nested_class_list.rb, line 42
def get_nested_class_from_parent(klass)
  @parent.send(klass)
end
nested_class_attributes() click to toggle source
# File lib/simple_params/nested_class_list.rb, line 38
def nested_class_attributes
  @parent.nested_class_attributes
end
nested_class_hash() click to toggle source
# File lib/simple_params/nested_class_list.rb, line 31
def nested_class_hash
  @nested_class_hash ||= nested_class_attributes.inject({}) do |hash, param|
    hash[param.to_sym] = get_nested_class_from_parent(param)
    hash
  end
end