class Bricolage::TableSpec
Attributes
name[R]
schema[R]
Public Class Methods
new(schema, name)
click to toggle source
# File lib/bricolage/sqlstatement.rb, line 323 def initialize(schema, name) @schema = schema @name = name end
parse(spec)
click to toggle source
“[SCHEMA.]TABLE” -> TableSpec(SCHEMA, TABLE)
# File lib/bricolage/sqlstatement.rb, line 304 def TableSpec.parse(spec) new(*split_name(spec)) end
split_name(name_pair)
click to toggle source
“TABLE” -> [nil, “TABLE”] “SCHEMA.TABLE” -> [“SCHEMA”, “TABLE”]
# File lib/bricolage/sqlstatement.rb, line 310 def TableSpec.split_name(name_pair) raise ParameterError, "table spec is empty" if name_pair.strip.empty? components = name_pair.split('.', 2) if components.size == 1 return nil, components.first else s, t = components raise ParameterError, "schema name is blank" if not s or s.empty? raise ParameterError, "table name is blank" if not t or t.empty? return s, t end end
Public Instance Methods
==(other)
click to toggle source
# File lib/bricolage/sqlstatement.rb, line 339 def ==(other) return false unless other.kind_of?(TableSpec) @schema == other.schema and @name == other.name end
Also aliased as: eql?
hash()
click to toggle source
# File lib/bricolage/sqlstatement.rb, line 346 def hash @schema.hash ^ @name.hash end
inspect()
click to toggle source
# File lib/bricolage/sqlstatement.rb, line 335 def inspect "\#<#{self.class} #{to_s}>" end
to_s()
click to toggle source
# File lib/bricolage/sqlstatement.rb, line 331 def to_s @schema ? "#{@schema}.#{@name}" : @name end