Sha256: eb72f24ad365ec042c01d92e9be5e9bcc892b975bbfb48e335767f5214b2ce43

Contents?: true

Size: 903 Bytes

Versions: 7

Compression:

Stored size: 903 Bytes

Contents

# TODO: rename this DM::Symbol::Direction

# TODO: add a method to convert it into a DM::Query::Sort object, eg:
#   operator.sort_for(model)

# TODO: rename #target to #property_name

# TODO: make sure Query converts this into a DM::Query::Sort object
#   immediately and passes that down to the Adapter

# TODO: remove #get method

module DataMapper
  class Query
    class Direction < Operator
      extend Deprecate

      deprecate :property,  :target
      deprecate :direction, :operator

      # @api private
      def reverse!
        @operator = @operator == :asc ? :desc : :asc
        self
      end

      # @api private
      def get(resource)
        Sort.new(target.get(resource), @operator == :asc)
      end

      private

      # @api private
      def initialize(target, operator = :asc)
        super
      end
    end # class Direction
  end # class Query
end # module DataMapper

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dm-core-1.0.2 lib/dm-core/query/direction.rb
dm-core-1.0.1 lib/dm-core/query/direction.rb
dm-core-1.0.0 lib/dm-core/query/direction.rb
dm-core-1.0.0.rc3 lib/dm-core/query/direction.rb
dm-core-1.0.0.rc2 lib/dm-core/query/direction.rb
dm-core-1.0.0.rc1 lib/dm-core/query/direction.rb
dm-core-0.10.2 lib/dm-core/query/direction.rb