Class: MongoParserRB::Query
- Inherits:
-
Object
- Object
- MongoParserRB::Query
- Defined in:
- lib/mongo-parser-rb/query.rb,
lib/mongo-parser-rb/query/expression.rb
Defined Under Namespace
Classes: Expression
Class Method Summary collapse
-
.parse(raw_query) ⇒ MongoParserRB::Query
Parse a query, returning an initialized MongoParserRB::Query object.
Instance Method Summary collapse
-
#matches_document?(document) ⇒ Boolean
Check if a document matches a query.
Class Method Details
.parse(raw_query) ⇒ MongoParserRB::Query
Parse a query, returning an initialized MongoParserRB::Query object.
8 9 10 |
# File 'lib/mongo-parser-rb/query.rb', line 8 def self.parse(raw_query) new(raw_query).parse! end |
Instance Method Details
#matches_document?(document) ⇒ Boolean
Check if a document matches a query.
q = MongoParserRB::Query.parse(:x => {:$gt => 3})
q.matches_document?(:x => 4) => true
q.matches_document?(:x => 3) => false
32 33 34 35 36 37 |
# File 'lib/mongo-parser-rb/query.rb', line 32 def matches_document?(document) raise NotParsedError, "Query not parsed (run parse!)" if @expression_tree.nil? document = stringify_keys(document) @expression_tree.evaluate(document) end |