Class: ApiPresenter::Parsers::ParseIncludeParams

Inherits:
Object
  • Object
show all
Defined in:
lib/api_presenter/parsers/parse_include_params.rb

Overview

Parses values into array of acceptable association map keys:

  • Removes blanks and dups

  • Underscores camel-cased keys

  • Converts to symbol

Returns:

  • (Array<Symbol>)

Class Method Summary collapse

Class Method Details

.call(values) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# 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