Class: Audrey::Node
Overview
Audrey::Node This class defines an object that connects to the database for a single object record.
Direct Known Subclasses
Defined Under Namespace
Classes: Array, Collection, Hash
Instance Attribute Summary collapse
-
#db ⇒ Object
readonly
Returns the value of attribute db.
-
#pk ⇒ Object
readonly
Returns the value of attribute pk.
Instance Method Summary collapse
-
#alive? ⇒ Boolean
————————————————————————— alive?.
-
#ancestors ⇒ Object
————————————————————————— ancestors.
-
#delete_object ⇒ Object
————————————————————————— delete_object.
-
#fco ⇒ Object
————————————————————————— fco, isolate.
-
#initialize(p_db, opts = {}) ⇒ Node
constructor
————————————————————————— initialize.
- #isolate ⇒ Object
-
#row ⇒ Object
————————————————————————— row.
Constructor Details
#initialize(p_db, opts = {}) ⇒ Node
initialize
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 |
# File 'lib/audrey.rb', line 689 def initialize(p_db, opts={}) # param check if not p_db.is_a?(Audrey) raise 'db-param-not-audrey: ' + p_db.class.to_s end # db and engine @db = p_db @engine = @db.engine # hold on to flcass if one was sent @fclass = opts['fclass'] # if a row was sent, cache it and set pk if opts['row'] @row_cache = opts['row'] @pk = @row_cache['pk'] else @pk = opts['pk'] || Audrey::Util.uuid @row_cache = nil end end |
Instance Attribute Details
#db ⇒ Object (readonly)
Returns the value of attribute db.
679 680 681 |
# File 'lib/audrey.rb', line 679 def db @db end |
#pk ⇒ Object (readonly)
Returns the value of attribute pk.
678 679 680 |
# File 'lib/audrey.rb', line 678 def pk @pk end |
Instance Method Details
#alive? ⇒ Boolean
alive?
769 770 771 772 |
# File 'lib/audrey.rb', line 769 def alive? # $tm.hrm return @engine.object_exists?(@pk) end |
#ancestors ⇒ Object
ancestors
754 755 756 757 758 759 760 |
# File 'lib/audrey.rb', line 754 def ancestors read_check() @engine.ancestors(@pk) do |row| yield @db.object_from_row(row) end end |
#delete_object ⇒ Object
delete_object
781 782 783 784 |
# File 'lib/audrey.rb', line 781 def delete_object write_check() return @engine.delete_object(@pk) end |
#fco ⇒ Object
fco, isolate
737 738 739 740 |
# File 'lib/audrey.rb', line 737 def fco # $tm.hrm return Audrey::Util.fclass_fco(row['fclass']) end |
#isolate ⇒ Object
742 743 744 745 |
# File 'lib/audrey.rb', line 742 def isolate # $tm.hrm return Audrey::Util.fclass_isolate(row['fclass']) end |
#row ⇒ Object
row
719 720 721 722 723 724 725 726 727 728 |
# File 'lib/audrey.rb', line 719 def row() # $tm.hrm read_check() if not @row_cache @row_cache = @engine.row_by_pk(@pk) end return @row_cache end |