module Gummi module RepositoryLayer module Repository extend ActiveSupport::Concern included do include Repobahn::Repository after_conversion :set_id_and_version end module ClassMethods def get(id) document = db_class.get id db_instance_to_entity document if document end def search(&block) search = db_class.new_filtered_search yield search Repository::Result.new search.execute, self end def overwrite(entity) return false unless entity.valid? document = db_class.new(entity.attributes) document.overwrite end def set_id_and_version(entity, db_instance) entity.id = db_instance.id entity.version = db_instance.version end end end end end