Class: Dbsketch::Rendering::Meta::TypeRenderer

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

Instance Method Summary collapse

Constructor Details

#initialize(type_keyword: 'Dbsketch::Model::Type.new') ⇒ TypeRenderer

Returns a new instance of TypeRenderer.

Raises:

  • (ArgumentError)


12
13
14
15
16
17
# File 'lib/dbsketch/rendering/meta/type_renderer.rb', line 12

def initialize type_keyword: 'Dbsketch::Model::Type.new'
	### Preconditions
	raise ArgumentError, "type_keyword is not a String" unless type_keyword.is_a? String
	###
	@type_keyword = type_keyword
end

Instance Method Details

#create(type) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/dbsketch/rendering/meta/type_renderer.rb', line 19

def create type
	### Preconditions
	raise ArgumentError, "type is not a Dbsketch::Model::Type" unless type.is_a? Dbsketch::Model::Type
	###
	str = "#{@type_keyword}('#{type.sql_type}'"
	if type.sizes.count > 1
		str << ", [#{type.sizes.join(", ")}]"
	elsif type.sizes.count > 0
		str << ", #{type.sizes.first.is_a?(String) ? "'#{type.sizes.first}'" : type.sizes.first}"
	end
	str << ")"
	str
end