Class: TeradataCli::DBObject
- Inherits:
-
Object
- Object
- TeradataCli::DBObject
show all
- Defined in:
- lib/teradata-cli/dbobject.rb
Constant Summary
collapse
- OBJECT_TYPES =
{}
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(x, y = nil) ⇒ DBObject
Returns a new instance of DBObject.
336
337
338
339
340
341
342
343
344
|
# File 'lib/teradata-cli/dbobject.rb', line 336
def initialize(x, y = nil)
if y
@database = x
@name = y
else
@database = nil
@name = x
end
end
|
Class Attribute Details
.type_char ⇒ Object
Returns the value of attribute type_char.
326
327
328
|
# File 'lib/teradata-cli/dbobject.rb', line 326
def type_char
@type_char
end
|
.type_name ⇒ Object
Returns the value of attribute type_name.
327
328
329
|
# File 'lib/teradata-cli/dbobject.rb', line 327
def type_name
@type_name
end
|
Instance Attribute Details
#database ⇒ Object
Returns the value of attribute database.
346
347
348
|
# File 'lib/teradata-cli/dbobject.rb', line 346
def database
@database
end
|
Class Method Details
.create(type_char, *args) ⇒ Object
330
331
332
333
334
|
# File 'lib/teradata-cli/dbobject.rb', line 330
def DBObject.create(type_char, *args)
cls = OBJECT_TYPES[type_char] or
raise ArgumentError, "unknown type char: #{type_char.inspect}"
cls.new(*args)
end
|
.declare_type(c, name) ⇒ Object
320
321
322
323
324
|
# File 'lib/teradata-cli/dbobject.rb', line 320
def declare_type(c, name)
OBJECT_TYPES[c] = self
@type_char = c
@type_name = name
end
|
.intern(spec) ⇒ Object
309
310
311
|
# File 'lib/teradata-cli/dbobject.rb', line 309
def DBObject.intern(spec)
spec.kind_of?(DBObject) ? spec : parse(spec)
end
|
.parse(spec) ⇒ Object
313
314
315
|
# File 'lib/teradata-cli/dbobject.rb', line 313
def DBObject.parse(spec)
new(* spec.split('.', 2))
end
|
Instance Method Details
#==(other) ⇒ Object
362
363
364
|
# File 'lib/teradata-cli/dbobject.rb', line 362
def ==(other)
other.kind_of?(self.class) and self.name == other.name
end
|
#inspect ⇒ Object
358
359
360
|
# File 'lib/teradata-cli/dbobject.rb', line 358
def inspect
"\#<#{self.class} #{name}>"
end
|
#name ⇒ Object
Also known as:
to_s
352
353
354
|
# File 'lib/teradata-cli/dbobject.rb', line 352
def name
@database ? "#{@database}.#{@name}" : @name
end
|
#type_char ⇒ Object
366
367
368
|
# File 'lib/teradata-cli/dbobject.rb', line 366
def type_char
self.class.type_char
end
|
#type_name ⇒ Object
370
371
372
|
# File 'lib/teradata-cli/dbobject.rb', line 370
def type_name
self.class.type_name
end
|
#unqualified_name ⇒ Object
348
349
350
|
# File 'lib/teradata-cli/dbobject.rb', line 348
def unqualified_name
@name
end
|