class Sortiri::Parser
Constants
- DELIMITER
Attributes
sort_string[R]
sortable_columns[R]
Public Class Methods
new(sortable_columns:, sort_string:)
click to toggle source
# File lib/sortiri/parser.rb, line 9 def initialize(sortable_columns:, sort_string:) @sortable_columns = sortable_columns # Array of Sortiri::ActiveRecord::Column @sort_string = sort_string end
parse(sort_string:)
click to toggle source
# File lib/sortiri/parser.rb, line 22 def self.parse(sort_string:) return [] if sort_string.blank? sort_string.split(DELIMITER).map do |s| Sortiri::Column.new(column: s) end end
Public Instance Methods
whitelisted_columns()
click to toggle source
# File lib/sortiri/parser.rb, line 14 def whitelisted_columns columns = self.class.parse(sort_string: sort_string) columns.select do |column| sortable_columns.any? { |c| c.matches_with?(column) } end end