Class: DataMapper::Associations::OneToMany::Collection
- Inherits:
-
Collection
- Object
- LazyArray
- Collection
- DataMapper::Associations::OneToMany::Collection
- Defined in:
- lib/dm-core/associations/one_to_many.rb
Overview
class Relationship
Direct Known Subclasses
Instance Attribute Summary collapse
- #relationship ⇒ Object private
- #source ⇒ Object private
Attributes inherited from Collection
Attributes inherited from LazyArray
Instance Method Summary collapse
-
#clear ⇒ Collection
Removes all Resources from the 1:m Collection.
-
#destroy ⇒ Boolean
Remove every Resource in the 1:m Collection from the repository.
-
#destroy! ⇒ Boolean
Remove every Resource in the 1:m Collection from the repository, bypassing validation.
- #reload ⇒ Object
-
#replace ⇒ Collection
Replace the Resources within the 1:m Collection.
-
#update ⇒ Boolean
Update every Resource in the 1:m Collection.
-
#update! ⇒ Boolean
Update every Resource in the 1:m Collection, bypassing validation.
Methods inherited from Collection
#<<, #[], #[]=, #all, #at, #clean?, #collect!, #concat, #create, #create!, #delete, #delete_at, #delete_if, #difference, #dirty?, #each, #first, #first_or_create, #first_or_new, #get, #get!, #hash, #insert, #inspect, #intersection, #last, #loaded_entries, #model, #model_key, #new, #pop, #properties, #push, #reject!, #relationships, #repository, #respond_to?, #reverse, #reverse!, #save, #save!, #set, #shift, #slice!, #union, #unshift
Methods inherited from LazyArray
#<<, #==, #[], #[]=, #any?, #at, #concat, #delete_at, #delete_if, #empty?, #eql?, #fetch, #first, #freeze, #frozen?, #include?, #index, #insert, #kind_of?, #last, #lazy_possible?, #load_with, #loaded?, #pop, #push, #respond_to?, #reverse, #reverse!, #shift, #slice!, #to_a, #unshift, #values_at
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class DataMapper::Collection
Instance Attribute Details
#relationship ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
181 182 183 |
# File 'lib/dm-core/associations/one_to_many.rb', line 181 def relationship @relationship end |
#source ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
184 185 186 |
# File 'lib/dm-core/associations/one_to_many.rb', line 184 def source @source end |
Instance Method Details
#clear ⇒ Collection
Removes all Resources from the 1:m Collection
This should remove and orphan each Resource from the 1:m Collection.
214 215 216 217 |
# File 'lib/dm-core/associations/one_to_many.rb', line 214 def clear lazy_load # lazy load so that targets are always orphaned super end |
#destroy ⇒ Boolean
Remove every Resource in the 1:m Collection from the repository
This performs a deletion of each Resource in the Collection from the repository and clears the Collection.
256 257 258 259 |
# File 'lib/dm-core/associations/one_to_many.rb', line 256 def destroy assert_source_saved 'The source must be saved before mass-deleting the collection' super end |
#destroy! ⇒ Boolean
Remove every Resource in the 1:m Collection from the repository, bypassing validation
This performs a deletion of each Resource in the Collection from the repository and clears the Collection while skipping validation.
271 272 273 274 |
# File 'lib/dm-core/associations/one_to_many.rb', line 271 def destroy! assert_source_saved 'The source must be saved before mass-deleting the collection' super end |
#reload ⇒ Object
187 188 189 190 |
# File 'lib/dm-core/associations/one_to_many.rb', line 187 def reload(*) assert_source_saved 'The source must be saved before reloading the collection' super end |
#replace ⇒ Collection
Replace the Resources within the 1:m Collection
201 202 203 204 |
# File 'lib/dm-core/associations/one_to_many.rb', line 201 def replace(*) lazy_load # lazy load so that targets are always orphaned super end |
#update ⇒ Boolean
Update every Resource in the 1:m Collection
228 229 230 231 |
# File 'lib/dm-core/associations/one_to_many.rb', line 228 def update(*) assert_source_saved 'The source must be saved before mass-updating the collection' super end |
#update! ⇒ Boolean
Update every Resource in the 1:m Collection, bypassing validation
242 243 244 245 |
# File 'lib/dm-core/associations/one_to_many.rb', line 242 def update!(*) assert_source_saved 'The source must be saved before mass-updating the collection' super end |