Class: KirguduBase::DynamicPages::PageTabBuilder

Inherits:
PageElementBuilder show all
Defined in:
app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb

Instance Method Summary collapse

Methods inherited from PageElementBuilder

#css_class, #enabled, #html_options, #id, #visible

Constructor Details

#initialize(name, &block) ⇒ PageTabBuilder

Returns a new instance of PageTabBuilder.



4
5
6
7
8
9
10
11
12
13
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 4

def initialize(name, &block)
  self.builder_options.merge!({
                                is_active: :false,
                                lazy_select: :false,
                                label: :nil,
                                elements: []
                              })

  super(name, &block)
end

Instance Method Details

#entry(name, &block) ⇒ Object



48
49
50
51
52
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 48

def entry(name, &block)
  #raise "Error from List. List Name: #{name}"
  raise "Cannot create empty Entry" unless block_given?
  self.builder_options[:elements] << ::KirguduBase::DynamicPages::EntryBuilder.new(name, &block).to_element
end

#form(name, &block) ⇒ Object



31
32
33
34
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 31

def form(name, &block)
  raise "Cannot create empty Form" unless block_given?
  self.builder_options[:elements] << ::KirguduBase::DynamicPages::FormBuilder.new(name, &block).to_element
end

#group(name, &block) ⇒ Object



42
43
44
45
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 42

def group(name, &block)
  raise "Cannot create empty Group" unless block_given?
  self.builder_options[:elements] << ::KirguduBase::DynamicPages::GroupBuilder.new(name, ::KirguduBase::DynamicPages::Enums::ELEMENTS_FOR_PAGE_TAB, &block).to_element
end

#is_active(value) ⇒ Object



20
21
22
23
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 20

def is_active(value)
  self.validate_empty_parameter('is_active', value)
  self.builder_options[:is_active] = value
end

#label(value) ⇒ Object



15
16
17
18
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 15

def label(value)
  self.validate_empty_parameter('label', value)
  self.builder_options[:label] = value
end

#lazy_select(value) ⇒ Object



25
26
27
28
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 25

def lazy_select(value)
  self.validate_empty_parameter('lazy_select', value)
  self.builder_options[:lazy_select] = value
end

#list(name, &block) ⇒ Object



36
37
38
39
40
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 36

def list(name, &block)
  raise "Cannot create empty List" unless block_given?
  self.builder_options[:elements] << ::KirguduBase::DynamicPages::ListBuilder.new(name, &block).to_element

end

#to_elementObject



54
55
56
57
58
59
# File 'app/models/kirgudu_base/dynamic_pages/page_tab_builder.rb', line 54

def to_element
  element = ::KirguduBase::DynamicPages::PageTab.new
  self.build_element(element)
  self.validate_generated_element(element)
  element
end