Sha256: f250699ae435d0e2a8d7b9a047b6488c392b011aa3f8545c2451b66095a39321

Contents?: true

Size: 626 Bytes

Versions: 10

Compression:

Stored size: 626 Bytes

Contents

module Godmin
  module Resources
    module ResourceService
      module Ordering
        extend ActiveSupport::Concern

        def apply_order(order_param, resources)
          if order_param.present?
            resources.order("#{resource_class.table_name}.#{order_column(order_param)} #{order_direction(order_param)}")
          else
            resources
          end
        end

        protected

        def order_column(order_param)
          order_param.rpartition("_").first
        end

        def order_direction(order_param)
          order_param.rpartition("_").last
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
godmin-1.1.0 lib/godmin/resources/resource_service/ordering.rb
godmin-1.0.0 lib/godmin/resources/resource_service/ordering.rb
godmin-0.12.4 lib/godmin/resources/resource_service/ordering.rb
godmin-0.12.3 lib/godmin/resources/resource_service/ordering.rb
godmin-0.12.2 lib/godmin/resources/resource_service/ordering.rb
godmin-0.12.1 lib/godmin/resources/resource_service/ordering.rb
godmin-0.12.0 lib/godmin/resources/resource_service/ordering.rb
godmin-0.11.2 lib/godmin/resources/resource_service/ordering.rb
godmin-0.11.1 lib/godmin/resources/resource_service/ordering.rb
godmin-0.11.0 lib/godmin/resources/resource_service/ordering.rb