Module: Daodalus::DSL::Matchers
- Included in:
- Aggregation::Match, Where
- Defined in:
- lib/daodalus/dsl/matchers.rb
Instance Method Summary collapse
- #all(*values) ⇒ Object
- #any(*clauses) ⇒ Object (also: #or)
- #does_not_exist(*values) ⇒ Object
- #elem_match(clause) ⇒ Object
- #eq(value) ⇒ Object (also: #equals)
- #exists(value = true) ⇒ Object
- #gt(value) ⇒ Object (also: #greater_than)
- #gte(value) ⇒ Object (also: #greater_than_or_equal)
- #in(*values) ⇒ Object
- #lt(value) ⇒ Object (also: #less_than)
- #lte(value) ⇒ Object (also: #less_than_or_equal)
- #ne(value) ⇒ Object (also: #not_equal)
- #nin(*values) ⇒ Object (also: #not_in)
- #none(*clauses) ⇒ Object (also: #nor)
- #not ⇒ Object
- #size(value) ⇒ Object
Instance Method Details
#all(*values) ⇒ Object
44 45 46 |
# File 'lib/daodalus/dsl/matchers.rb', line 44 def all *values add_clause '$all' => values end |
#any(*clauses) ⇒ Object Also known as: or
70 71 72 |
# File 'lib/daodalus/dsl/matchers.rb', line 70 def any *clauses add_logical_clause '$or' => clauses.map(&:to_query) end |
#does_not_exist(*values) ⇒ Object
56 57 58 |
# File 'lib/daodalus/dsl/matchers.rb', line 56 def does_not_exist *values exists false end |
#elem_match(clause) ⇒ Object
80 81 82 |
# File 'lib/daodalus/dsl/matchers.rb', line 80 def elem_match clause add_clause '$elemMatch' => clause.to_query end |
#eq(value) ⇒ Object Also known as: equals
5 6 7 |
# File 'lib/daodalus/dsl/matchers.rb', line 5 def eq value add_clause value end |
#exists(value = true) ⇒ Object
52 53 54 |
# File 'lib/daodalus/dsl/matchers.rb', line 52 def exists value=true add_clause '$exists' => value end |
#gt(value) ⇒ Object Also known as: greater_than
20 21 22 |
# File 'lib/daodalus/dsl/matchers.rb', line 20 def gt value add_clause '$gt' => value end |
#gte(value) ⇒ Object Also known as: greater_than_or_equal
30 31 32 |
# File 'lib/daodalus/dsl/matchers.rb', line 30 def gte value add_clause '$gte' => value end |
#in(*values) ⇒ Object
35 36 37 |
# File 'lib/daodalus/dsl/matchers.rb', line 35 def in *values add_clause '$in' => values end |
#lt(value) ⇒ Object Also known as: less_than
15 16 17 |
# File 'lib/daodalus/dsl/matchers.rb', line 15 def lt value add_clause '$lt' => value end |
#lte(value) ⇒ Object Also known as: less_than_or_equal
25 26 27 |
# File 'lib/daodalus/dsl/matchers.rb', line 25 def lte value add_clause '$lte' => value end |
#ne(value) ⇒ Object Also known as: not_equal
10 11 12 |
# File 'lib/daodalus/dsl/matchers.rb', line 10 def ne value add_clause '$ne' => value end |
#nin(*values) ⇒ Object Also known as: not_in
39 40 41 |
# File 'lib/daodalus/dsl/matchers.rb', line 39 def nin *values add_clause '$nin' => values end |
#none(*clauses) ⇒ Object Also known as: nor
75 76 77 |
# File 'lib/daodalus/dsl/matchers.rb', line 75 def none *clauses add_logical_clause '$nor' => clauses.map(&:to_query) end |
#not ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/daodalus/dsl/matchers.rb', line 60 def not define_singleton_method :add_clause do |clause| add_logical_clause field.to_s => { '$not' => clause } end define_singleton_method :eq do |value| add_logical_clause field.to_s => { '$ne' => value} end self end |
#size(value) ⇒ Object
48 49 50 |
# File 'lib/daodalus/dsl/matchers.rb', line 48 def size value add_clause '$size' => value end |