Class: Rmodel::Scope
Instance Attribute Summary collapse
-
#raw_query ⇒ Object
readonly
Returns the value of attribute raw_query.
Class Method Summary collapse
Instance Method Summary collapse
- #delete_all ⇒ Object
- #destroy_all ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(repo, raw_query) ⇒ Scope
constructor
A new instance of Scope.
Constructor Details
#initialize(repo, raw_query) ⇒ Scope
Returns a new instance of Scope.
7 8 9 10 |
# File 'lib/rmodel/scope.rb', line 7 def initialize(repo, raw_query) @repo = repo @raw_query = raw_query end |
Instance Attribute Details
#raw_query ⇒ Object (readonly)
Returns the value of attribute raw_query.
5 6 7 |
# File 'lib/rmodel/scope.rb', line 5 def raw_query @raw_query end |
Class Method Details
.define_scope(name, &block) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/rmodel/scope.rb', line 24 def self.define_scope(name, &block) define_method name do |*args| new_raw_query = @raw_query.instance_exec(*args, &block) self.class.new(@repo, new_raw_query) end end |
Instance Method Details
#delete_all ⇒ Object
16 17 18 |
# File 'lib/rmodel/scope.rb', line 16 def delete_all @repo.delete_all(self) end |
#destroy_all ⇒ Object
20 21 22 |
# File 'lib/rmodel/scope.rb', line 20 def destroy_all @repo.destroy_all(self) end |
#each(&block) ⇒ Object
12 13 14 |
# File 'lib/rmodel/scope.rb', line 12 def each(&block) @repo.find_all(self).each(&block) end |