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