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
eql?(comparison_object)
Alias for: ==
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