Method: ERBLint::Linters::ArgumentMappers::Label#classes_to_args

Defined in:
lib/primer/view_components/linters/argument_mappers/label.rb

#classes_to_args(classes) ⇒ Object

[View source]

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/primer/view_components/linters/argument_mappers/label.rb', line 38

def classes_to_args(classes)
  classes.each_with_object({ classes: [] }) do |class_name, acc|
    next if class_name == "Label"

    if SCHEME_MAPPINGS[class_name] && acc[:scheme].nil?
      acc[:scheme] = SCHEME_MAPPINGS[class_name]
    elsif SIZE_MAPPINGS[class_name] && acc[:size].nil?
      acc[:size] = SIZE_MAPPINGS[class_name]
    elsif class_name == INLINE_CLASS && acc[:inline].nil?
      acc[:inline] = true
    else
      acc[:classes] << class_name
    end
  end
end