Module: Tramway::Core::ExtendableFormsHelpers::Submit::ClassHelpers

Defined in:
app/forms/tramway/core/extendable_forms_helpers/submit/class_helpers.rb

Instance Method Summary collapse

Instance Method Details

#define_submit_method(simple_properties, more_properties) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/forms/tramway/core/extendable_forms_helpers/submit/class_helpers.rb', line 4

def define_submit_method(simple_properties, more_properties)
  define_method 'submit' do |params|
    model.values ||= {}
    extended_params = extended(simple_properties, more_properties, params)
    every_attribute_set params
    model.values = extended_params.reduce(model.values) do |hash, pair|
      hash.merge! pair[0] => pair[1]
    end

    return unless model.errors.empty?

    save_in_submit params
  end
end