Sha256: 85ca7a82e505c61d11e28e16c66be9bc6e74589aa7c7c17f72ba117f41f662b1

Contents?: true

Size: 995 Bytes

Versions: 5

Compression:

Stored size: 995 Bytes

Contents

module Mobility
  module Backend
    module ActiveRecord
      autoload :Column,       'mobility/backend/active_record/column'
      autoload :Hstore,       'mobility/backend/active_record/hstore'
      autoload :Jsonb,        'mobility/backend/active_record/jsonb'
      autoload :KeyValue,     'mobility/backend/active_record/key_value'
      autoload :Serialized,   'mobility/backend/active_record/serialized'
      autoload :QueryMethods, 'mobility/backend/active_record/query_methods'
      autoload :Table,        'mobility/backend/active_record/table'

      def setup_query_methods(query_methods)
        setup do |attributes, options|
          extend(Module.new do
            define_method ::Mobility.query_method do
              super().extending(query_methods.new(attributes, options))
            end
          end)
        end
      end

      def self.included(backend_class)
        backend_class.include(Backend)
        backend_class.extend(self)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mobility-0.1.17 lib/mobility/backend/active_record.rb
mobility-0.1.16 lib/mobility/backend/active_record.rb
mobility-0.1.15 lib/mobility/backend/active_record.rb
mobility-0.1.14 lib/mobility/backend/active_record.rb
mobility-0.1.13 lib/mobility/backend/active_record.rb