Class: OCI8::NamedType
Instance Method Summary collapse
Instance Method Details
#attributes ⇒ Object
506 507 508 509 510 511 512 513 514 |
# File 'lib/oci8/object.rb', line 506 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
516 517 518 519 520 521 522 523 524 525 526 527 528 |
# File 'lib/oci8/object.rb', line 516 def attributes=(obj) if obj.nil? self.null = true else 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 self.null = false end end |
#to_value ⇒ Object
499 500 501 502 503 504 |
# File 'lib/oci8/object.rb', line 499 def to_value return nil if self.null? obj = tdo.ruby_class.new obj.instance_variable_set(:@attributes, self.attributes) obj end |