Class: KirguduBase::DynamicPages::PageElementsBlockBuilder
- Inherits:
-
Builder
- Object
- Builder
- KirguduBase::DynamicPages::PageElementsBlockBuilder
show all
- Defined in:
- app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb
Instance Method Summary
collapse
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
Returns a new instance of PageElementsBlockBuilder.
5
6
7
8
9
10
11
12
13
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 5
def initialize(&block)
self.builder_options[:forms] = {}
self.builder_options[:lists] = {}
self.builder_options[:entries] = {}
self.builder_options[:tabs] = {}
self.builder_options[:elements] = []
super(&block)
end
|
Instance Method Details
#entry(name, &block) ⇒ Object
53
54
55
56
57
58
59
60
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 53
def entry(name, &block)
raise "Cannot create empty Entry" unless block_given?
element = ::KirguduBase::DynamicPages::EntryBuilder.new(name, &block).to_element
raise "Duplicate Entry with name: #{element.name}" if self.builder_options[:entries][element.name]
self.builder_options[:entries][element.name] = element
self.builder_options[:elements] << element
end
|
15
16
17
18
19
20
21
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 15
def form(name, &block)
raise "Cannot create empty Form" unless block_given?
element = ::KirguduBase::DynamicPages::FormBuilder.new(name, &block).to_element
raise "Duplicate Form with name: #{element.name}" if self.builder_options[:forms][element.name]
self.builder_options[:forms][element.name] = element
self.builder_options[:elements] << element
end
|
#group(name, &block) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 40
def group(name, &block)
raise "Cannot create empty Group" unless block_given?
element = ::KirguduBase::DynamicPages::GroupBuilder.new(name, ::KirguduBase::DynamicPages::Enums::ELEMENTS_FOR_PAGE, &block).to_element
self.builder_options[:elements].each do |elm|
if elm.is_a?(::KirguduBase::DynamicPages::Group)
if elm.name == name
raise "Duplicate Group with name: #{element.name}" if self.builder_options[:groups][element.name]
end
end
end
self.builder_options[:elements] << element
end
|
#list(name, &block) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 23
def list(name, &block)
raise "Cannot create empty List" unless block_given?
element = ::KirguduBase::DynamicPages::ListBuilder.new(name, &block).to_element
raise "Duplicate List with name: #{element.name}" if self.builder_options[:lists][element.name]
self.builder_options[:lists][element.name] = element
self.builder_options[:elements] << element
end
|
#tab(name, &block) ⇒ Object
32
33
34
35
36
37
38
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 32
def tab(name, &block)
element = ::KirguduBase::DynamicPages::PageTabBuilder.new(name, &block).to_element
raise "Duplicate Tab with name: #{element.name}" if self.builder_options[:tabs][element.name]
self.builder_options[:tabs][element.name] = element
self.builder_options[:elements] << element
end
|
#to_elements ⇒ Object
67
68
69
|
# File 'app/models/kirgudu_base/dynamic_pages/page_elements_block_builder.rb', line 67
def to_elements
@elements
end
|