Class: KirguduBase::DynamicPages::PageBuilder
- Inherits:
-
Builder
- Object
- Builder
- KirguduBase::DynamicPages::PageBuilder
- Defined in:
- app/models/kirgudu_base/dynamic_pages/page_builder.rb
Instance Method Summary collapse
- #elements(&block) ⇒ Object
- #entry(name, &block) ⇒ Object
- #form(name, &block) ⇒ Object
- #html_header(&block) ⇒ Object
- #http_client(name, &block) ⇒ Object
-
#initialize(name, &block) ⇒ PageBuilder
constructor
A new instance of PageBuilder.
- #list(name, &block) ⇒ Object
- #management(name, &block) ⇒ Object
- #menu(name, &block) ⇒ Object
- #sorting(name, &block) ⇒ Object
- #to_element ⇒ Object
Constructor Details
#initialize(name, &block) ⇒ PageBuilder
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 5 def initialize(name, &block) self.[:name] = name self.[:html_header] = nil self.[:forms] = {} self.[:lists] = {} self.[:entries] = {} self.[:tabs] = {} self.[:menus] = {} self.[:managements] = {} self.[:sortings] = {} self.[:elements] = [] self.[:http_clients] = [] super(&block) end |
Instance Method Details
#elements(&block) ⇒ Object
87 88 89 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 87 def elements(&block) self.[:elements] = ::KirguduBase::DynamicPages::PageElementsBlockBuilder.new(&block).to_elements end |
#entry(name, &block) ⇒ Object
46 47 48 49 50 51 52 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 46 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.[:entries][element.name] self.[:entries][element.name] = element self.[:elements] << element end |
#form(name, &block) ⇒ Object
29 30 31 32 33 34 35 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 29 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.[:forms][element.name] self.[:forms][element.name] = element self.[:elements] << element end |
#html_header(&block) ⇒ Object
25 26 27 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 25 def html_header(&block) self.[:html_header] = ::KirguduBase::DynamicPages::HtmlHeaderBuilder.new(&block).to_element end |
#http_client(name, &block) ⇒ Object
78 79 80 81 82 83 84 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 78 def http_client(name, &block) raise "Cannot create empty Http Client" unless block_given? element = ::KirguduBase::DynamicPages::HttpClientBuilder.new(name, &block).to_element raise "Duplicate Http Client with name: #{element.name}" if self.[:http_clients][element.name] self.[:http_clients][element.name] = element self.[:elements] << element end |
#list(name, &block) ⇒ Object
37 38 39 40 41 42 43 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 37 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.[:lists][element.name] self.[:lists][element.name] = element self.[:elements] << element end |
#management(name, &block) ⇒ Object
62 63 64 65 66 67 68 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 62 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.[:managements][element.name] self.[:managements][element.name] = element self.[:elements] << element end |
#menu(name, &block) ⇒ Object
54 55 56 57 58 59 60 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 54 def (name, &block) raise "Cannot create empty Menu" unless block_given? element = ::KirguduBase::DynamicPages::MenuBuilder.new(name, &block).to_element raise "Duplicate Menu with name: #{element.name}" if self.[:menus][element.name] self.[:menus][element.name] = element self.[:elements] << element end |
#sorting(name, &block) ⇒ Object
70 71 72 73 74 75 76 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 70 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.[:sortings][element.name] self.[:sortings][element.name] = element self.[:elements] << element end |
#to_element ⇒ Object
91 92 93 94 95 |
# File 'app/models/kirgudu_base/dynamic_pages/page_builder.rb', line 91 def to_element element = ::KirguduBase::DynamicPages::Page.new self.build_element(element) element end |