Class: KirguduBase::DynamicPages::ListBuilder
Instance Method Summary
collapse
#css_class, #enabled, #html_options, #id, #visible
Constructor Details
#initialize(name, &block) ⇒ ListBuilder
Returns a new instance of ListBuilder.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 5
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
73
74
75
76
77
78
79
80
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 73
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
63
64
65
66
67
68
69
70
71
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 63
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
38
39
40
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 38
def http_method(value)
self.builder_options[:http_method] = value
end
|
#is_ajax(value) ⇒ Object
42
43
44
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 42
def is_ajax(value)
self.builder_options[:is_ajax] = value
end
|
#model(value) ⇒ Object
82
83
84
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 82
def model(value)
self.builder_options[:model] = value
end
|
#parent(&block) ⇒ Object
86
87
88
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 86
def parent(&block)
self.builder_options[:parent] = ::KirguduBase::DynamicPages::ParentElementBuilder.new(&block).to_element
end
|
#per_page(value) ⇒ Object
46
47
48
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 46
def per_page(value)
self.builder_options[:per_page] = value
end
|
#properties(&block) ⇒ Object
55
56
57
58
59
60
61
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 55
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
50
51
52
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 50
def relation(&block)
self.builder_options[:relation] = ::KirguduBase::DynamicPages::RelationBuilder.new(&block).to_element
end
|
#to_element ⇒ Object
91
92
93
94
95
96
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 91
def to_element
element = ::KirguduBase::DynamicPages::List.new
self.build_element(element)
self.validate_generated_element(element)
element
end
|
#url(value) ⇒ Object
25
26
27
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 25
def url(value)
self.builder_options[:url] = value
end
|
#url_path(controller, action, params = {}) ⇒ Object
29
30
31
32
33
34
35
|
# File 'app/models/kirgudu_base/dynamic_pages/list_builder.rb', line 29
def url_path(controller, action, params = {})
self.builder_options[:url_path] = {
controller: controller,
action: action,
params: params
}
end
|