Class: Rmodel::Mongo::RepositoryExt::Query
- Inherits:
-
Object
- Object
- Rmodel::Mongo::RepositoryExt::Query
- Includes:
- Enumerable
- Defined in:
- lib/rmodel/mongo/repository_ext/query.rb
Defined Under Namespace
Classes: Queryable
Class Method Summary collapse
Instance Method Summary collapse
- #each(&block) ⇒ Object
-
#initialize(repo, queryable = nil) ⇒ Query
constructor
A new instance of Query.
- #remove ⇒ Object
Constructor Details
Class Method Details
.define_scope(name, &block) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/rmodel/mongo/repository_ext/query.rb', line 26 def self.define_scope(name, &block) define_method name do |*args| new_queryable = @queryable.instance_exec(*args, &block) self.class.new(@repo, new_queryable) end end |
Instance Method Details
#each(&block) ⇒ Object
17 18 19 20 |
# File 'lib/rmodel/mongo/repository_ext/query.rb', line 17 def each(&block) @repo.find_by_query(@queryable.selector, @queryable.).each(&block) self end |
#remove ⇒ Object
22 23 24 |
# File 'lib/rmodel/mongo/repository_ext/query.rb', line 22 def remove @repo.execute_query(@queryable.selector, @queryable.).delete_many end |