class Primer::ViewComponents::Constants

A module for constants that are used in the view components.

def format_array(values, symbolize)

def format_array(values, symbolize)
  val = values.select(&:present?)
  return val.map { |v| symbolize_value(v) } if symbolize
  val
end

def format_hash(values, invert, symbolize)

def format_hash(values, invert, symbolize)
  val = invert ? values.invert : values
  # remove defaults
  val = val.except("", nil)
  return val.transform_values { |v| symbolize_value(v) } if symbolize
  val
end

def get(component:, constant:, invert: true, symbolize: false)

def get(component:, constant:, invert: true, symbolize: false)
  values = CONSTANTS.dig(component, constant)
  case values
  when Hash
    format_hash(values, invert, symbolize)
  when Array
    format_array(values, symbolize)
  else
    values
  end
end

def symbolize_value(value)

def symbolize_value(value)
  ":#{value}"
end