diff --git a/lib/orm_adapter/adapters/active_record.rb b/lib/orm_adapter/adapters/active_record.rb index ec3c34f..dbe4f65 100644 --- a/lib/orm_adapter/adapters/active_record.rb +++ b/lib/orm_adapter/adapters/active_record.rb @@ -2,6 +2,11 @@ module OrmAdapter class ActiveRecord < Base + # @see OrmAdapter::Base#simple_key + def simple_key + object.id + end + # Return list of column/property names def column_names klass.column_names @@ -37,7 +42,7 @@ def destroy(object) object.destroy && true if valid_object?(object) end - protected + protected def construct_relation(relation, options) conditions, order, limit, offset = extract_conditions!(options) diff --git a/lib/orm_adapter/adapters/data_mapper.rb b/lib/orm_adapter/adapters/data_mapper.rb index 8fb1530..a9f29ae 100644 --- a/lib/orm_adapter/adapters/data_mapper.rb +++ b/lib/orm_adapter/adapters/data_mapper.rb @@ -7,6 +7,11 @@ module Model module Resource class OrmAdapter < ::OrmAdapter::Base + # @see OrmAdapter::Base#simple_key + def simple_key + object.id + end + # get a list of column names for a given class def column_names klass.properties.map(&:name) diff --git a/lib/orm_adapter/adapters/mongo_mapper.rb b/lib/orm_adapter/adapters/mongo_mapper.rb index 2937d3c..bffb225 100644 --- a/lib/orm_adapter/adapters/mongo_mapper.rb +++ b/lib/orm_adapter/adapters/mongo_mapper.rb @@ -7,6 +7,11 @@ module ClassMethods end class OrmAdapter < ::OrmAdapter::Base + # @see OrmAdapter::Base#simple_key + def simple_key + object.id.to_s + end + # get a list of column names for a given class def column_names klass.column_names diff --git a/lib/orm_adapter/adapters/mongoid.rb b/lib/orm_adapter/adapters/mongoid.rb index aaca494..599eba2 100644 --- a/lib/orm_adapter/adapters/mongoid.rb +++ b/lib/orm_adapter/adapters/mongoid.rb @@ -7,6 +7,11 @@ module ClassMethods end class OrmAdapter < ::OrmAdapter::Base + # @see OrmAdapter::Base#simple_key + def simple_key + object.id.to_s + end + # get a list of column names for a given class def column_names klass.fields.keys diff --git a/lib/orm_adapter/base.rb b/lib/orm_adapter/base.rb index 1bb6133..b01a90b 100644 --- a/lib/orm_adapter/base.rb +++ b/lib/orm_adapter/base.rb @@ -18,6 +18,11 @@ def initialize(klass) @klass = klass end + # Return field key that is ready for serialization (needed for Mongoid) + def simple_key + raise NotSupportedError + end + # Get a list of column/property/field names def column_names raise NotSupportedError