# File lib/will_paginate/named_scope.rb, line 86 def named_scope(name, options = {}) name = name.to_sym scopes[name] = lambda do |parent_scope, *args| Scope.new(parent_scope, case options when Hash options when Proc options.call(*args) end) { |*a| yield(*a) if block_given? } end (class << self; self end).instance_eval do define_method name do |*args| scopes[name].call(self, *args) end end end