Class: Dbsketch::Rendering::Meta::ColumnRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/dbsketch/rendering/meta/column_renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(type_renderer: nil, keywords: {}) ⇒ ColumnRenderer

Returns a new instance of ColumnRenderer.

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
24
25
26
# File 'lib/dbsketch/rendering/meta/column_renderer.rb', line 16

def initialize type_renderer: nil, keywords: {}
	### Preconditions
	raise ArgumentError, "keywords is not a Hash" unless keywords.is_a? Hash
	###
	@keywords = {
		:column				=> "Dbsketch::Model::Column.new",
		:computed_column	=> "Dbsketch::Model::ComputedColumn.new",
		:type				=> "Dbsketch::Model::Type.new"
	}.merge keywords
	@type_renderer = (nil == type_renderer ? TypeRenderer.new(:type_keyword => @keywords[:type]) : type_renderer)
end

Instance Method Details

#create(column) ⇒ Object

Raises:

  • (ArgumentError)


28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/dbsketch/rendering/meta/column_renderer.rb', line 28

def create column
	### Preconditions
	raise ArgumentError, "column is not a Dbsketch::Model::AbstractColumn" unless column.is_a? Dbsketch::Model::AbstractColumn
	###
	if column.is_a? Dbsketch::Model::ComputedColumn
		create_computed_column column
	elsif column.is_a? Dbsketch::Model::Column
		create_column column
	else
		raise ArgumentError, "#{column.class} is an unknown subclass of Dbsketch::Model::AbstractColumn"
	end
end