Class: Paramoid::List

Inherits:
Array
  • Object
show all
Defined in:
lib/paramoid/list.rb

Instance Method Summary collapse

Instance Method Details

#apply_defaults!(params) ⇒ Object



17
18
19
20
21
22
# File 'lib/paramoid/list.rb', line 17

def apply_defaults!(params)
  each do |params_data|
    params = params_data.apply_defaults! params
  end
  params
end

#ensure_required_params!(params, path: []) ⇒ Object



28
29
30
31
32
# File 'lib/paramoid/list.rb', line 28

def ensure_required_params!(params, path: [])
  each do |params_data|
    params_data.ensure_required_params! params, path: path
  end
end

#to_defaultsObject



24
25
26
# File 'lib/paramoid/list.rb', line 24

def to_defaults
  inject({}) { |a, b| a.merge!(b.to_defaults) }
end

#to_paramsObject



5
6
7
8
9
# File 'lib/paramoid/list.rb', line 5

def to_params
  list = reject(&:nested?).map(&:to_params)
  nested = select(&:nested?).inject({}) { |a, b| a.merge!(b.to_params) }
  nested.present? ? list << nested : list
end

#transform_params!(params) ⇒ Object



11
12
13
14
15
# File 'lib/paramoid/list.rb', line 11

def transform_params!(params)
  each do |params_data|
    params_data.transform_params! params
  end
end