Class: Dynamic::BaseBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/models/kirgudu_base/dynamic/base_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ BaseBuilder

Returns a new instance of BaseBuilder.



4
5
6
# File 'app/models/kirgudu_base/dynamic/base_builder.rb', line 4

def initialize(&block)
	instance_eval(&block) if block_given?
end

Instance Method Details

#build_element(element) ⇒ Object



9
10
11
12
13
# File 'app/models/kirgudu_base/dynamic/base_builder.rb', line 9

def build_element(element)
	self.builder_options.each_pair do |key, value|
		element.send("#{key}=", value)
	end
end

#builder_optionsObject



16
17
18
19
# File 'app/models/kirgudu_base/dynamic/base_builder.rb', line 16

def builder_options
	@options = {} unless @options
	@options
end

#validate_generated_element(element) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/models/kirgudu_base/dynamic/base_builder.rb', line 22

def validate_generated_element(element)
	errors = []
	unless element.valid?

		#raise "ERRORS FOR ELEMENT: #{element.errors.methods.to_json}"
		element.errors.each do |key, element_errors|
			errors << "'#{key}' #{element_errors}"
			#raise "ERROR KEY: #{key}; ERROR MESSAGES: #{element_errors}"
			#element_errors.each do |element_error|
			#	errors << "'#{key}' #{element_error}"
			#end
		end
	end
	if errors.length > 0

		raise "ERRORS<br/>
				   Class: #{element.class}
				   Name: #{element.name if element.respond_to?(:name)} <br/>

				   #{errors.join('<br/>')}".html_safe
	end
end