Module: FormCore::Concerns::Models::Form

Extended by:
ActiveSupport::Concern
Included in:
Form
Defined in:
lib/form_core/concerns/models/form.rb

Instance Method Summary collapse

Instance Method Details

#append_to_virtual_model(model, fields_scope: proc { |fields| fields }, overrides: {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/form_core/concerns/models/form.rb', line 16

def append_to_virtual_model(model,
                            fields_scope: proc { |fields| fields },
                            overrides: {})
  check_model_validity! model

  global_overrides = overrides.fetch(:_global, {})
  fields_scope.call(fields).each do |f|
    f.interpret_to model, overrides: global_overrides.merge(overrides.fetch(f.name, {}))
  end

  model
end

#to_virtual_model(model_name: "Form", fields_scope: proc { |fields| fields }, overrides: {}) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/form_core/concerns/models/form.rb', line 8

def to_virtual_model(model_name: "Form",
                     fields_scope: proc { |fields| fields },
                     overrides: {})
  model = FormCore.virtual_model_class.build model_name

  append_to_virtual_model(model, fields_scope: fields_scope, overrides: overrides)
end