Class: KirguduBase::DynamicPages::Builder
- Inherits:
-
Object
- Object
- KirguduBase::DynamicPages::Builder
show all
- Defined in:
- app/models/kirgudu_base/dynamic_pages/builder.rb
Direct Known Subclasses
KirguduBase::DynamicFilters::ObligatoryFilterBuilder, ControllerLinkBuilder, ControllerLinkIdBuilder, DataSourceBuilder, EntryPropertiesBlockBuilder, EventActionBuilder, EventActionConstraintBuilder, EventBuilder, EventIfBlockBuilder, FormElementsBlockBuilder, FormPropertiesBlockBuilder, ListCellsBlockBuilder, ListFiltersBlockBuilder, ListPropertiesBlockBuilder, ManagementSettingsBuilder, MenuBuilder, MenuItemsBlockBuilder, PageBuilder, PageElementBuilder, PageElementsBlockBuilder, ParentElementBuilder, PropertyEventsBlockBuilder, RelationBuilder, SortingSettingsBuilder, KirguduBase::DynamicTransactions::TransactionInjectionBuilder
Instance Method Summary
collapse
Constructor Details
#initialize(&block) ⇒ Builder
Returns a new instance of Builder.
4
5
6
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 4
def initialize(&block)
instance_eval(&block) if block_given?
end
|
Instance Method Details
#build_element(element) ⇒ Object
9
10
11
12
13
14
15
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 9
def build_element(element)
self.builder_options.each_pair do |key, value|
element.send("#{key}=", value)
end
element.fix_parent_entry(nil)
self.validate_generated_element(element)
end
|
#builder_options ⇒ Object
18
19
20
21
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 18
def builder_options
@options = {} unless @options
@options
end
|
#valiadte_interger_parameter(name, value) ⇒ Object
27
28
29
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 27
def valiadte_interger_parameter(name, value)
raise "Parameter \"#{name}\" accepts only integer values" unless value.is_a?(Integer)
end
|
#valiadte_interger_positive_parameter(name, value) ⇒ Object
31
32
33
34
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 31
def valiadte_interger_positive_parameter(name, value)
raise "Parameter \"#{name}\" accepts only integer values" unless value.is_a?(Integer)
raise "Parameter \"#{name}\" accepts only positive values (>=0)" unless value.is_a?(Integer) if value < 0
end
|
#validate_empty_parameter(name, value) ⇒ Object
23
24
25
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 23
def validate_empty_parameter(name, value)
raise "Parameter \"#{name}\" cannot be empty. If you dont want to assign specific value to this parameter, just delete it from code" unless value
end
|
#validate_generated_element(element) ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 49
def validate_generated_element(element)
errors = []
unless element.valid?
element.errors.each do |key, element_errors|
errors << "'#{key}' #{element_errors}"
end
end
if errors.length > 0
raise "ERRORS<br/>
Class: #{element.class}
Name: #{element.name if element.respond_to?(:name)} <br/>
#{errors.join('<br/>')}".html_safe
end
end
|
#validate_string_or_symbol_parameter(name, value) ⇒ Object
45
46
47
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 45
def validate_string_or_symbol_parameter(name, value)
raise "Parameter \"#{name}\" must be a \"String\" or a :Symbol." unless value && (value.is_a?(String) || value.is_a?(Symbol))
end
|
#validate_string_parameter(name, value) ⇒ Object
37
38
39
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 37
def validate_string_parameter(name, value)
raise "Parameter \"#{name}\" must be a \"String\"." unless value && value.is_a?(String)
end
|
#validate_symbol_parameter(name, value) ⇒ Object
41
42
43
|
# File 'app/models/kirgudu_base/dynamic_pages/builder.rb', line 41
def validate_symbol_parameter(name, value)
raise "Parameter \"#{name}\"must be a :Symbol." unless value && value.is_a?(Symbol)
end
|