Module: ActiveNode::Persistence::ClassMethods
- Defined in:
- lib/active_node/persistence.rb
Instance Method Summary collapse
- #active_node_class(class_name, default_klass = nil) ⇒ Object
- #create_rel(rel, node) ⇒ Object
- #find_by_cypher(query, params = {}, klass = nil) ⇒ Object
- #graph ⇒ Object
- #label ⇒ Object
- #timestamps ⇒ Object
- #wrap(node, klass = nil) ⇒ Object
- #wrap_rel(rel, node, klass) ⇒ Object
Instance Method Details
#active_node_class(class_name, default_klass = nil) ⇒ Object
42 43 44 45 |
# File 'lib/active_node/persistence.rb', line 42 def active_node_class(class_name, default_klass=nil) klass = Module.const_get(class_name) rescue nil klass && klass < ActiveNode::Base && klass || default_klass end |
#create_rel(rel, node) ⇒ Object
38 39 40 |
# File 'lib/active_node/persistence.rb', line 38 def create_rel rel, node ActiveNode::Relationship.new node, rel['data'].merge(id: get_id(rel).to_i) end |
#find_by_cypher(query, params = {}, klass = nil) ⇒ Object
22 23 24 |
# File 'lib/active_node/persistence.rb', line 22 def find_by_cypher query, params={}, klass=nil wrap(Neo.db.execute_query(query, params)['data'].map(&:first), klass) end |
#graph ⇒ Object
47 48 49 |
# File 'lib/active_node/persistence.rb', line 47 def graph ActiveNode::Graph.new(self) end |
#label ⇒ Object
26 27 28 |
# File 'lib/active_node/persistence.rb', line 26 def label name end |
#timestamps ⇒ Object
17 18 19 20 |
# File 'lib/active_node/persistence.rb', line 17 def attribute :created_at, type: Time attribute :updated_at, type: Time end |
#wrap(node, klass = nil) ⇒ Object
30 31 32 |
# File 'lib/active_node/persistence.rb', line 30 def wrap node, klass=nil node.is_a?(Array) ? new_instances(node, klass) : new_instance(node, klass) end |
#wrap_rel(rel, node, klass) ⇒ Object
34 35 36 |
# File 'lib/active_node/persistence.rb', line 34 def wrap_rel rel, node, klass create_rel rel, wrap(node, klass) end |