class Rmodel::Scope

Attributes

raw_query[R]

Public Class Methods

define_scope(name, &block) click to toggle source
# File lib/rmodel/scope.rb, line 29
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
new(repo, raw_query) click to toggle source
# File lib/rmodel/scope.rb, line 7
def initialize(repo, raw_query)
  @repo = repo
  @raw_query = raw_query
end

Public Instance Methods

delete_all() click to toggle source
# File lib/rmodel/scope.rb, line 16
def delete_all
  @repo.delete_all(self)
end
destroy_all() click to toggle source
# File lib/rmodel/scope.rb, line 20
def destroy_all
  @repo.destroy_all(self)
end
each(&block) click to toggle source
# File lib/rmodel/scope.rb, line 12
def each(&block)
  @repo.find_all(self).each(&block)
end
find(id) click to toggle source
# File lib/rmodel/scope.rb, line 24
def find(id)
  new_raw_query = @raw_query.find_by_id(id)
  self.class.new(@repo, new_raw_query).first
end