Module: ActiveGraph::Relationship::Query::ClassMethods
- Defined in:
- lib/active_graph/relationship/query.rb
Instance Method Summary collapse
-
#all ⇒ Object
Performs a basic match on the relationship, returning all results.
-
#find(id) ⇒ Object
Returns the object with the specified neo4j id.
-
#find_by_id(key) ⇒ Object
Loads the relationship using its neo_id.
- #first ⇒ Object
- #last ⇒ Object
-
#where(args = {}) ⇒ Object
Performs a very basic match on the relationship.
Instance Method Details
#all ⇒ Object
Performs a basic match on the relationship, returning all results. This is not executed lazily, it will immediately return matching objects.
34 35 36 |
# File 'lib/active_graph/relationship/query.rb', line 34 def all all_query.pluck(:r1) end |
#find(id) ⇒ Object
Returns the object with the specified neo4j id.
10 11 12 13 |
# File 'lib/active_graph/relationship/query.rb', line 10 def find(id) fail "Unknown argument #{id.class} in find method (expected String or Integer)" if !(id.is_a?(String) || id.is_a?(Integer)) find_by_id(id) end |
#find_by_id(key) ⇒ Object
Loads the relationship using its neo_id.
16 17 18 19 20 21 |
# File 'lib/active_graph/relationship/query.rb', line 16 def find_by_id(key) query = ActiveGraph::Base.new_query result = query.match('()-[r]-()').where('ID(r)' => key.to_i).limit(1).return(:r).first fail RecordNotFound.new("Couldn't find #{name} with 'id'=#{key.inspect}", name, key) if result.blank? result[:r] end |
#first ⇒ Object
38 39 40 |
# File 'lib/active_graph/relationship/query.rb', line 38 def first all_query.limit(1).order('ID(r1)').pluck(:r1).first end |
#last ⇒ Object
42 43 44 |
# File 'lib/active_graph/relationship/query.rb', line 42 def last all_query.limit(1).order('ID(r1) DESC').pluck(:r1).first end |
#where(args = {}) ⇒ Object
Performs a very basic match on the relationship. This is not executed lazily, it will immediately return matching objects. To use a string, prefix the property with “r1”
28 29 30 |
# File 'lib/active_graph/relationship/query.rb', line 28 def where(args = {}) where_query.where(where_string(args)).pluck(:r1) end |