class EasyOrderable::OrderArgumentsTransformer

Attributes

args[R]

Public Class Methods

new(args) click to toggle source
# File lib/easy_orderable/order_arguments_transformer.rb, line 3
def initialize(args)
  @args = args
end

Public Instance Methods

call() click to toggle source
# File lib/easy_orderable/order_arguments_transformer.rb, line 7
def call
  args.map do |association, direction|
    if association.include?('.')
      table_name, column_name = association.split('.')
      "#{quote(table_name.pluralize)}.#{quote(column_name)} #{direction}"
    else
      "#{quote(association)} #{direction}"
    end
  end
end

Private Instance Methods

quote(name) click to toggle source
# File lib/easy_orderable/order_arguments_transformer.rb, line 22
def quote(name)
  ActiveRecord::Base.connection.quote_column_name(name)
end