module BB module Converter class Order TEMPLATE = "%s %s".freeze attr_reader :column, :sort_key def initialize(column, options = {}) @column = column @sort_key = format_sort_key(options[:sort_key]) end def convert format(TEMPLATE, column, sort_key) end private def format_sort_key(sort_key) sort_key.to_s.casecmp("DESC").zero? ? :DESC : :ASC end class << self def convert(column, options = {}) new(column, options).convert end end end end end