4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'app/forms/tramway/core/extendable_forms_helpers/class_builder.rb', line 4
def build_form_class(name, simple_properties, more_properties)
Object.const_set(name, Class.new(::Tramway::Core::ApplicationForm) do
properties(*simple_properties.keys) if simple_properties.keys.any?
include Tramway::Core::ExtendableFormsHelpers::Submit::ObjectHelpers
include Tramway::Core::ExtendableFormsHelpers::Validators
extend Tramway::Core::ExtendableFormsHelpers::Submit::ClassHelpers
extend Tramway::Core::ExtendableFormsHelpers::PropertiesHelper
extend Tramway::Core::ExtendableFormsHelpers::MorePropertiesHelper
extend Tramway::Core::ExtendableFormsHelpers::IgnoredPropertiesHelper
define_submit_method simple_properties, more_properties
define_properties_method simple_properties, more_properties
define_ignored_properties_method
more_properties.each do |property|
define_property_method property[0]
case property[1][:object].field_type
when 'file'
field = property[1][:object]
define_file_property_assignment_method property field
else
next unless property[1][:validates].present?
define_assignment_method property
end
end
end)
end
|