class ApiPresenter::Parsers::ParseIncludeParams

Parses values into array of acceptable association map keys:

@param values [String, Array<String>, Array<Symbol>] Comma-delimited string or array

@return [Array<Symbol>]

Public Class Methods

call(values) click to toggle source
# File lib/api_presenter/parsers/parse_include_params.rb, line 14
def self.call(values)
  return [] if values.blank?

  array = values.is_a?(Array) ? values.dup : values.split(',')
  array.select!(&:present?)
  array.map! { |value| value.try(:underscore) || value }
  array.uniq!
  array.map!(&:to_sym)

  array
end