Class: KirguduBase::DynamicPages::ListBuilder

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

Instance Method Summary collapse

Methods inherited from PageElementBuilder

#enabled, #html_options, #id, #visible

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) ⇒ ListBuilder

Returns a new instance of ListBuilder.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 6

def initialize(name, &block)


	self.builder_options.merge!(
		{
			url: nil,
			http_method: :get,
			is_ajax: :false,
			per_page: 30,
			properties: nil,
			filters: nil,
			cells: nil,
			model: nil,
			parent: nil

		}
	)
	super(name, &block)
end

Instance Method Details

#cells(&block) ⇒ Object



66
67
68
69
70
71
72
73
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 66

def cells(&block)
	elements = ::KirguduBase::DynamicPages::ListCellsBlockBuilder.new(&block).to_elements

	elements.each do |element|
		self.builder_options[:cells] = [] unless self.builder_options[:cells]
		self.builder_options[:cells] << element
	end if elements
end

#filters(&block) ⇒ Object



56
57
58
59
60
61
62
63
64
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 56

def filters(&block)
	elements = ::KirguduBase::DynamicPages::ListFiltersBlockBuilder.new(&block).to_elements

	elements.each do |element|
		self.builder_options[:filters] = [] unless self.builder_options[:filters]
		self.builder_options[:filters] << element
	end if elements

end

#http_method(value) ⇒ Object



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

def http_method(value)
	self.builder_options[:http_method] = value
end

#is_ajax(value) ⇒ Object



35
36
37
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 35

def is_ajax(value)
	self.builder_options[:is_ajax] = value
end

#model(value) ⇒ Object



75
76
77
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 75

def model(value)
	self.builder_options[:model] = value
end

#parent(&block) ⇒ Object



79
80
81
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 79

def parent(&block)
	self.builder_options[:parent] = ::KirguduBase::DynamicPages::ParentElementBuilder.new(&block).to_element
end

#per_page(value) ⇒ Object



39
40
41
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 39

def per_page(value)
	self.builder_options[:per_page] = value
end

#properties(&block) ⇒ Object



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

def properties(&block)
	elements = ::KirguduBase::DynamicPages::ListPropertiesBlockBuilder.new(&block).to_elements
	elements.each do |element|
		self.builder_options[:properties] = {} unless self.builder_options[:properties]
		self.builder_options[:properties][element.name] = element
	end if elements
end

#relation(&block) ⇒ Object



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

def relation(&block)
	self.builder_options[:relation] = ::KirguduBase::DynamicPages::RelationBuilder.new(&block).to_element
end

#to_elementObject



84
85
86
87
88
89
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 84

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

#url(value) ⇒ Object



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

def url(value)
	self.builder_options[:url] = value
end