Sha256: 057bd1ebbf2d53b218fb046342f8c35b2f79a37c5f8077f6b7ae2ca67563e38e

Contents?: true

Size: 617 Bytes

Versions: 5

Compression:

Stored size: 617 Bytes

Contents

module EasyOrderable
  class Assorter
    def initialize(relation, args, custom_association_names)
      @relation = relation
      @args = args
      @custom_association_names = custom_association_names
    end

    def call
      joined_relation.order(*order_args)
    end

    private

    attr_reader :relation, :args, :custom_association_names

    def joined_relation
      Joiner.new(relation, args, custom_association_names).call
    end

    def order_args
      OrderArgumentsTransformer.new(args).call
    end
  end
end

require 'easy_orderable/joiner'
require 'easy_orderable/order_arguments_transformer'

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
easy_orderable-1.2.0 lib/easy_orderable/assorter.rb
easy_orderable-1.1.1 lib/easy_orderable/assorter.rb
easy_orderable-1.0.0 lib/easy_orderable/assorter.rb
easy_orderable-0.2.2 lib/easy_orderable/assorter.rb
easy_orderable-0.1.0 lib/easy_orderable/assorter.rb