Module: ActiveFedora::Scoping::Named::ClassMethods

Defined in:
lib/active_fedora/scoping/named.rb

Instance Method Summary collapse

Instance Method Details

#allObject

Returns an ActiveFedora::Relation scope object.

posts = Post.all
posts.size # Fires "select count(*) from  posts" and returns the count
posts.each {|p| puts p.name } # Fires "select * from posts" and loads post objects

fruits = Fruit.all
fruits = fruits.where(color: 'red') if options[:red_only]
fruits = fruits.limit(10) if limited?

You can define a scope that applies to all finders using ActiveRecord::Base.default_scope.


20
21
22
23
24
25
26
27
28
# File 'lib/active_fedora/scoping/named.rb', line 20

def all
  if current_scope
    current_scope.clone
  else
    scope = relation
    scope.default_scoped = true
    scope
  end
end