Class: OCI8::NamedType

Inherits:
Object show all
Defined in:
lib/oci8/object.rb

Instance Method Summary collapse

Instance Method Details

#attributesObject



495
496
497
498
499
500
501
502
503
# File 'lib/oci8/object.rb', line 495

def attributes
  attrs = {}
  tdo.attributes.each do |attr|
    attr_val = get_attribute(attr.datatype, attr.typeinfo, attr.val_offset, attr.ind_offset)
    attr_val = attr.get_proc.call(attr_val) if attr.get_proc
    attrs[attr.name] = attr_val
  end
  attrs
end

#attributes=(obj) ⇒ Object



505
506
507
508
509
510
511
512
# File 'lib/oci8/object.rb', line 505

def attributes=(obj)
  obj = obj.instance_variable_get(:@attributes) unless obj.is_a? Hash
  tdo.attributes.each do |attr|
    attr_val = obj[attr.name]
    attr_val = attr.set_proc.call(attr_val) if attr.set_proc
    set_attribute(attr.datatype, attr.typeinfo, attr.val_offset, attr.ind_offset, attr_val)
  end
end

#to_valueObject



489
490
491
492
493
# File 'lib/oci8/object.rb', line 489

def to_value
  obj = tdo.ruby_class.new
  obj.instance_variable_set(:@attributes, self.attributes)
  obj
end