Class: KirguduBase::DynamicPages::DataSourceBuilder

Inherits:
Builder
  • Object
show all
Defined in:
app/models/kirgudu_base/dynamic_pages/data_source_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(&block) ⇒ DataSourceBuilder

Returns a new instance of DataSourceBuilder.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 9

def initialize(&block)
	raise "Cannot Build Empty Data Source" unless block_given?

	self.builder_options.merge!(
		{
			model: nil,
			cross_domain: nil,
			url: nil,
			data_format: nil,
			label_property: :name,
			value_property: :id,
			cache_locally: nil,
			type: nil,
		    http_method: nil
		}
	)

	super(&block)
end

Instance Method Details

#cache_locally(value) ⇒ Object



54
55
56
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 54

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

#cross_domain(value) ⇒ Object



34
35
36
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 34

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

#data_format(value) ⇒ Object



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

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

#http_method(value) ⇒ Object



63
64
65
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 63

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

#label_property(value) ⇒ Object



46
47
48
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 46

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

#model(value) ⇒ Object



30
31
32
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 30

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

#to_elementObject



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

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

#type(value) ⇒ Object



58
59
60
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 58

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

#url(value) ⇒ Object



38
39
40
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 38

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

#value_property(value) ⇒ Object



50
51
52
# File 'app/models/kirgudu_base/dynamic_pages/data_source_builder.rb', line 50

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