Class: KirguduBase::DynamicPages::FormBuilder
Instance Method Summary
collapse
#enabled, #html_options, #id, #visible
Methods inherited from Builder
#build_element, #builder_options, #valiadte_interger_parameter, #valiadte_interger_positive_parameter, #validate_empty_parameter, #validate_generated_element, #validate_string_or_symbol_parameter, #validate_string_parameter, #validate_symbol_parameter
Constructor Details
#initialize(name, &block) ⇒ FormBuilder
Returns a new instance of FormBuilder.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 5
def initialize(name, &block)
self.builder_options.merge!({
url: nil,
http_method: nil,
allow_client_validations: nil,
is_ajax: nil,
properties: nil,
elements: nil,
parent: nil
})
super(name, &block)
end
|
Instance Method Details
#allow_client_validations(value) ⇒ Object
28
29
30
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 28
def allow_client_validations(value)
self.builder_options[:allow_client_validations] = value
end
|
#elements ⇒ Object
44
45
46
47
48
49
50
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 44
def elements
elements = ::KirguduBase::DynamicPages::FormElementsBlockBuilder.new(&block).to_elements
elements.each do |element|
self.builder_options[:elements] = [] unless self.builder_options[:elements]
self.builder_options[:elements] << element
end
end
|
#http_method(value) ⇒ Object
24
25
26
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 24
def http_method(value)
self.builder_options[:http_method] = value
end
|
#is_ajax(value) ⇒ Object
32
33
34
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 32
def is_ajax(value)
self.builder_options[:is_ajax] = value
end
|
#parent(value) ⇒ Object
52
53
54
55
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 52
def parent(value)
self.validate_empty_parameter('parent', value)
self.builder_options[:parent] = value
end
|
#properties(&block) ⇒ Object
36
37
38
39
40
41
42
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 36
def properties(&block)
elements = ::KirguduBase::DynamicPages::FormPropertiesBlockBuilder.new(&block).to_elements
elements.each do |element|
self.builder_options[:properties] = {} unless self.builder_options[:properties]
self.builder_options[:properties][element.name] = element
end
end
|
#to_element ⇒ Object
57
58
59
60
61
62
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 57
def to_element
element = ::KirguduBase::DynamicPages::Form.new
self.build_element(element)
self.validate_generated_element(element)
element
end
|
#url(value) ⇒ Object
20
21
22
|
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 20
def url(value)
self.builder_options[:url] = value
end
|