Method: Decanter::Core::ClassMethods#handled_keys
- Defined in:
- lib/decanter/core.rb
#handled_keys(args) ⇒ Object
120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/decanter/core.rb', line 120 def handled_keys(args) arg_keys = args.keys.map(&:to_sym) inputs, assocs = handlers.values.partition { |handler| handler[:type] == :input } {}.merge( # Inputs inputs.select { |handler| (arg_keys & handler[:name]).any? } .reduce({}) { |memo, handler| memo.merge handle_input(handler, args) } ).merge( # Associations assocs.reduce({}) { |memo, handler| memo.merge handle_association(handler, args) } ) end |