Sha256: ce142b58b82dd0aa093a4de93534c372629fee8c3f57d86235d2c6b6fa3b38e3
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
module DataMapper module Support module ActiveRecordImpersonation def self.included(base) base.extend(ClassMethods) end def save session.save(self) end def reload! session.first(self.class, key, :select => original_values.keys, :reload => true) end def reload reload! end def destroy! session.destroy(self) end module ClassMethods def find_or_create(search_attributes, create_attributes = nil) first(search_attributes) || create(search_attributes.merge(create_attributes)) end def all(options = {}) database.all(self, options) end def first(*args) database.first(self, *args) end def count(*args) database.count(self, *args) end def delete_all database.delete_all(self) end def truncate! database.truncate(self) end def find(type_or_id, options = {}) case type_or_id when :first then first(options) when :all then all(options) else first(type_or_id, options) end end def find_by_sql(*args) DataMapper::database.query(*args) end def [](id_or_hash) first(id_or_hash) end def create(attributes) instance = self.new(attributes) instance.save instance end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datamapper-0.2.3 | lib/data_mapper/support/active_record_impersonation.rb |