Class: KirguduBase::DynamicPages::PageBuilder
- Inherits:
-
Builder
- Object
- Builder
- KirguduBase::DynamicPages::PageBuilder
show all
- Defined in:
- app/models/kirgudu_base/dynamic_pages/page_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
#initialize(name, &block) ⇒ PageBuilder
Returns a new instance of PageBuilder.
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 6
def initialize( name, &block)
self.builder_options[:name] = name
self.builder_options[:forms] = {}
self.builder_options[:lists] = {}
self.builder_options[:entries] = {}
self.builder_options[:tabs] = {}
self.builder_options[:menus] = {}
self.builder_options[:managements] = {}
self.builder_options[:sortings] = {}
self.builder_options[:elements] = []
super(&block)
end
|
Instance Method Details
#elements(&block) ⇒ Object
72
73
74
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 72
def elements(&block)
self.builder_options[:elements] = ::KirguduBase::DynamicPages::PageElementsBlockBuilder.new(&block).to_elements
end
|
#entry(name, &block) ⇒ Object
39
40
41
42
43
44
45
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 39
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
|
22
23
24
25
26
27
28
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 22
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
|
#list(name, &block) ⇒ Object
30
31
32
33
34
35
36
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 30
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
|
#management(name, &block) ⇒ Object
55
56
57
58
59
60
61
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 55
def management(name, &block)
raise "Cannot create empty Management" unless block_given?
element = ::KirguduBase::DynamicPages::ManagementSettingsBuilder.new(name, &block).to_element
raise "Duplicate Management with name: #{element.name}" if self.builder_options[:managements][element.name]
self.builder_options[:managements][element.name] = element
self.builder_options[:elements] << element
end
|
47
48
49
50
51
52
53
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 47
def (name, &block)
raise "Cannot create empty Menu" unless block_given?
element = ::KirguduBase::DynamicPages::.new(name, &block).to_element
raise "Duplicate Menu with name: #{element.name}" if self.builder_options[:menus][element.name]
self.builder_options[:menus][element.name] = element
self.builder_options[:elements] << element
end
|
#sorting(name, &block) ⇒ Object
63
64
65
66
67
68
69
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 63
def sorting(name, &block)
raise "Cannot create empty Sorting" unless block_given?
element = ::KirguduBase::DynamicPages::SortingSettingsBuilder.new(name, &block).to_element
raise "Duplicate Sorting with name: #{element.name}" if self.builder_options[:sortings][element.name]
self.builder_options[:sortings][element.name] = element
self.builder_options[:elements] << element
end
|
#to_element ⇒ Object
76
77
78
79
80
|
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 76
def to_element
element = ::KirguduBase::DynamicPages::Page.new
self.build_element(element)
element
end
|