Class: Dbsketch::Rendering::SQL::ColumnRenderer

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of ColumnRenderer.

Raises:

  • (ArgumentError)


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

def initialize type_renderer: nil, options: {}
	### Preconditions
	raise ArgumentError, "options is not a Hash" unless options.is_a? Hash
	###
	@options = {
		:pretty	=> false
	}.merge options
	@type_renderer = (nil == type_renderer ? TypeRenderer.new : type_renderer)
end

Instance Method Details

#create(column) ⇒ Object

Raises:

  • (ArgumentError)


26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/dbsketch/rendering/sql/column_renderer.rb', line 26

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