module ActiveRecord::NamedScope::ClassMethods

Public Instance Methods

named_scope(name, options = {}, &block) click to toggle source
# File lib/fake_arel/extensions.rb, line 9
def named_scope(name, options = {}, &block)
  name = name.to_sym

  scopes[name] = lambda do |parent_scope, *args|
    Scope.new(parent_scope, case options
      when Hash, Scope
        options
      when Proc
        options.call(*args)
    end, &block)
  end

  singleton_class.send :define_method, name do |*args|
    scopes[name].call(self, *args)
  end
end
scoped(scope = {}, &block) click to toggle source

make all arguments optional, like Rails 3

# File lib/fake_arel/extensions.rb, line 27
def scoped(scope = {}, &block)
  ActiveRecord::NamedScope::Scope.new(self, scope, &block)
end
scoping(&block) click to toggle source
# File lib/fake_arel/extensions.rb, line 5
def scoping(&block)
  scoped(&block)
end