Sha256: 1a2fab06154d04bb80dfd5b887f72f6cc768db5fe2e1a8e9ccf2d4dd6c6a9920

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

module Trailblazer
  class Finder
    module Adapters
      module DataMapper
        # Sequel - Sorting Adapter
        module Sorting
          def self.included(base)
            base.extend Features::Sorting::ClassMethods
          end

          private

          # def sort_it(entity_type, sort_attribute, sort_direction)
          #   case sort_direction
          #   when 'asc', 'ascending'
          #     entity_type.all(order: [sort_attribute.to_sym.asc])
          #   when 'desc', 'descending'
          #     entity_type.all(order: [sort_attribute.to_sym.desc])
          #   end
          # end

          def sort_orders(sort_attr, sort_dir)
            case sort_dir
            when 'asc', 'ascending'
              sort_attr.to_sym.asc
            when 'desc', 'descending'
              sort_attr.to_sym.desc
            end
          end

          def sort_it(entity_type, sort_attributes)
            entity_type.all(order: sort_attributes.flatten)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trailblazer-finder-0.1.4 lib/trailblazer/finder/adapters/data_mapper/sorting.rb