Sha256: e7a5892fba8d8f35a973a2285706d7337c5b164927e459e27f17c65036eae072
Contents?: true
Size: 925 Bytes
Versions: 1
Compression:
Stored size: 925 Bytes
Contents
module Toy module Mongo module Querying extend ActiveSupport::Concern PluckyMethods = Plucky::Methods module ClassMethods def transformer @transformer ||= lambda do |doc| load(doc.delete('_id'), doc) end end def object_id_attributes attributes.values.select do |attribute| attribute.type == BSON::ObjectId end.map do |attribute| sym = attribute.name.to_sym sym == :id ? :_id : sym end end def get(id) super Plucky.to_object_id(id) end def query Plucky::Query.new(adapter.client, :transformer => transformer).object_ids(object_id_attributes) end PluckyMethods.each do |name| define_method(name) do |*args| query.send(name, *args) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
toystore-mongo-0.12.0 | lib/toy/mongo/querying.rb |