class ActivePStore::Collection
Public Class Methods
new(objects)
click to toggle source
# File lib/active_pstore/collection.rb, line 5 def initialize(objects) @objects = objects end
Public Instance Methods
==(comparison_object)
click to toggle source
# File lib/active_pstore/collection.rb, line 39 def ==(comparison_object) comparison_object.instance_of?(self.class) && self.map(&:id) <=> comparison_object.map(&:id) end
Also aliased as: eql?
count(attr_name = nil)
click to toggle source
# File lib/active_pstore/collection.rb, line 23 def count(attr_name = nil) if attr_name.nil? || attr_name == :all @objects.count else @objects.map(&attr_name.to_sym).compact.count end end
destroy_all()
click to toggle source
# File lib/active_pstore/collection.rb, line 15 def destroy_all @objects.inject(0) {|result, obj| obj.destroy result += 1 } end
empty?()
click to toggle source
# File lib/active_pstore/collection.rb, line 31 def empty? @objects.empty? end
hash()
click to toggle source
Calls superclass method
# File lib/active_pstore/collection.rb, line 44 def hash if id id.hash else super end end
method_missing(method_name, *args, &block)
click to toggle source
# File lib/active_pstore/collection.rb, line 35 def method_missing(method_name, *args, &block) @objects.public_send(method_name, *args, &block) end
update_all(updates)
click to toggle source
# File lib/active_pstore/collection.rb, line 9 def update_all(updates) @objects.each {|obj| obj.update_attributes(updates) }.count end