Class ActiveRecord::NamedScope::Scope
In: vendor/rails/activerecord/lib/active_record/named_scope.rb
Parent: Object

Methods

any?   empty?   first   last   new   proxy_found   reload   respond_to?   size  

Constants

NON_DELEGATE_METHODS = %w(nil? send object_id class extend find size count sum average maximum minimum paginate first last empty? any? respond_to?).to_set

Attributes

current_scoped_methods_when_defined  [R] 
proxy_options  [R] 
proxy_scope  [R] 

Public Class methods

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 113
113:       def initialize(proxy_scope, options, &block)
114:         [options[:extend]].flatten.each { |extension| extend extension } if options[:extend]
115:         extend Module.new(&block) if block_given?
116:         unless Scope === proxy_scope
117:           @current_scoped_methods_when_defined = proxy_scope.send(:current_scoped_methods)
118:         end
119:         @proxy_scope, @proxy_options = proxy_scope, options.except(:extend)
120:       end

Public Instance methods

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 154
154:       def any?
155:         if block_given?
156:           proxy_found.any? { |*block_args| yield(*block_args) }
157:         else
158:           !empty?
159:         end
160:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 146
146:       def empty?
147:         @found ? @found.empty? : count.zero?
148:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 126
126:       def first(*args)
127:         if args.first.kind_of?(Integer) || (@found && !args.first.kind_of?(Hash))
128:           proxy_found.first(*args)
129:         else
130:           find(:first, *args)
131:         end
132:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 134
134:       def last(*args)
135:         if args.first.kind_of?(Integer) || (@found && !args.first.kind_of?(Hash))
136:           proxy_found.last(*args)
137:         else
138:           find(:last, *args)
139:         end
140:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 122
122:       def reload
123:         load_found; self
124:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 150
150:       def respond_to?(method, include_private = false)
151:         super || @proxy_scope.respond_to?(method, include_private)
152:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 142
142:       def size
143:         @found ? @found.length : count
144:       end

Protected Instance methods

[Source]

     # File vendor/rails/activerecord/lib/active_record/named_scope.rb, line 163
163:       def proxy_found
164:         @found || load_found
165:       end

[Validate]