Skip to content

Commit

Permalink
copy edits in collection proxy docs [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
vijaydev committed May 23, 2012
1 parent d31b765 commit 1c94868
Showing 1 changed file with 18 additions and 25 deletions.
43 changes: 18 additions & 25 deletions activerecord/lib/active_record/associations/collection_proxy.rb
Expand Up @@ -92,6 +92,10 @@ class CollectionProxy < Relation
# # ] # # ]
# #
# person.pets.select(:name) { |pet| pet.name =~ /oo/ } # person.pets.select(:name) { |pet| pet.name =~ /oo/ }
# # => [
# # #<Pet id: 2, name: "Spook">,
# # #<Pet id: 3, name: "Choo-Choo">
# # ]


## ##
# :method: find # :method: find
Expand All @@ -113,7 +117,7 @@ class CollectionProxy < Relation
# # #<Pet id: 2, name: "Spook", person_id: 1>, # # #<Pet id: 2, name: "Spook", person_id: 1>,
# # #<Pet id: 3, name: "Choo-Choo", person_id: 1> # # #<Pet id: 3, name: "Choo-Choo", person_id: 1>
# # ] # # ]
# #
# person.pets.find(1) # => #<Pet id: 1, name: "Fancy-Fancy", person_id: 1> # person.pets.find(1) # => #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>
# person.pets.find(4) # => ActiveRecord::RecordNotFound: Couldn't find Pet with id=4 # person.pets.find(4) # => ActiveRecord::RecordNotFound: Couldn't find Pet with id=4
# #
Expand Down Expand Up @@ -231,7 +235,7 @@ class CollectionProxy < Relation
# #
# Returns a new object of the collection type that has been instantiated with # Returns a new object of the collection type that has been instantiated with
# attributes, linked to this object and that has already been saved (if it # attributes, linked to this object and that has already been saved (if it
# passed the validations). # passes the validations).
# #
# class Person # class Person
# has_many :pets # has_many :pets
Expand All @@ -255,15 +259,14 @@ class CollectionProxy < Relation
# # #<Pet id: 2, name: "Spook", person_id: 1>, # # #<Pet id: 2, name: "Spook", person_id: 1>,
# # #<Pet id: 3, name: "Choo-Choo", person_id: 1> # # #<Pet id: 3, name: "Choo-Choo", person_id: 1>
# # ] # # ]

## ##
# :method: create! # :method: create!
# #
# :call-seq: # :call-seq:
# create!(attributes = {}, options = {}, &block) # create!(attributes = {}, options = {}, &block)
# #
# Like +create+, except that if the record is invalid will # Like +create+, except that if the record is invalid, raises an exception.
# raise an exception.
# #
# class Person # class Person
# has_many :pets # has_many :pets
Expand Down Expand Up @@ -340,8 +343,8 @@ class CollectionProxy < Relation
## ##
# :method: delete_all # :method: delete_all
# #
# Deletes all the records from the collection. For +has_many+ it will do the # Deletes all the records from the collection. For +has_many+ asssociations,
# deletion according to the strategy specified by the <tt>:dependent</tt> # the deletion is done according to the strategy specified by the <tt>:dependent</tt>
# option. Returns an array with the deleted records. # option. Returns an array with the deleted records.
# #
# If no <tt>:dependent</tt> option is given, then it will follow the # If no <tt>:dependent</tt> option is given, then it will follow the
Expand Down Expand Up @@ -501,7 +504,7 @@ class CollectionProxy < Relation
# You can pass +Fixnum+ or +String+ values, it finds the records # You can pass +Fixnum+ or +String+ values, it finds the records
# responding to the +id+ and then deletes them from the database. # responding to the +id+ and then deletes them from the database.
# #
# person.pets.size # => 3 # person.pets.size # => 3
# person.pets # person.pets
# # => [ # # => [
# # #<Pet id: 4, name: "Benny", person_id: 1>, # # #<Pet id: 4, name: "Benny", person_id: 1>,
Expand Down Expand Up @@ -529,7 +532,7 @@ class CollectionProxy < Relation
# person.pets # => [] # person.pets # => []
# #
# Pet.find(4, 5, 6) # => ActiveRecord::RecordNotFound: Couldn't find all Pets with IDs (4, 5, 6) # Pet.find(4, 5, 6) # => ActiveRecord::RecordNotFound: Couldn't find all Pets with IDs (4, 5, 6)

## ##
# :method: size # :method: size
# #
Expand All @@ -541,11 +544,7 @@ class CollectionProxy < Relation
# end # end
# #
# person.pets.size # => 3 # person.pets.size # => 3
# # Executes: # # executes something like SELECT COUNT(*) FROM "pets" WHERE "pets"."person_id" = 1
# #
# # SELECT COUNT(*)
# # FROM "pets"
# # WHERE "pets"."person_id" = 1
# #
# person.pets # This will execute a SELECT * FROM query # person.pets # This will execute a SELECT * FROM query
# # => [ # # => [
Expand All @@ -562,24 +561,18 @@ class CollectionProxy < Relation
# :method: length # :method: length
# #
# Returns the size of the collection calling +size+ on the target. # Returns the size of the collection calling +size+ on the target.
# If the collection has been already loaded +length+ and +size+ are # If the collection has been already loaded, +length+ and +size+ are
# equivalent. If not and you are going to need the records anyway this # equivalent.
# method will take one less query because loads the collection. Otherwise
# +size+ is more efficient.
# #
# class Person < ActiveRecord::Base # class Person < ActiveRecord::Base
# has_many :pets # has_many :pets
# end # end
# #
# person.pets.length # => 3 # person.pets.length # => 3
# # Executes: # # executes something like SELECT "pets".* FROM "pets" WHERE "pets"."person_id" = 1
# #
# # SELECT "pets".*
# #  FROM "pets"
# # WHERE "pets"."person_id" = 1
# #
# # Because the collection is loaded, you can # # Because the collection is loaded, you can
# # call the collection without execute a query: # # call the collection with no additional queries:
# person.pets # person.pets
# # => [ # # => [
# # #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>, # # #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>,
Expand Down Expand Up @@ -705,7 +698,7 @@ class CollectionProxy < Relation
:sum, :count, :size, :length, :empty?, :sum, :count, :size, :length, :empty?,
:any?, :many?, :include?, :any?, :many?, :include?,
:to => :@association :to => :@association

def initialize(association) def initialize(association)
@association = association @association = association
super association.klass, association.klass.arel_table super association.klass, association.klass.arel_table
Expand Down

0 comments on commit 1c94868

Please sign in to comment.