module Fetcha::SortParams
Public Class Methods
convert_to_ordered_hash(fields)
click to toggle source
# File lib/fetcha.rb, line 180 def self.convert_to_ordered_hash(fields) fields.each_with_object({}) do |field, hash| if field.start_with?('-') field = field[1..-1] hash[field] = :desc else hash[field] = :asc end end end
sorted_fields(sort, allowed_set)
click to toggle source
# File lib/fetcha.rb, line 171 def self.sorted_fields(sort, allowed_set) fields = sort.to_s.split(',') ordered_fields = convert_to_ordered_hash(fields) filtered_fields = ordered_fields.select { |k| allowed_set.include? k } filtered_fields.present? ? filtered_fields : nil end