Method: ERBLint::Linters::ArgumentMappers::Button#classes_to_args

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

#classes_to_args(classes) ⇒ Object

[View source]

52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/primer/view_components/linters/argument_mappers/button.rb', line 52

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

    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 == "btn-block"
      acc[:block] = true
    elsif class_name == "BtnGroup-item"
      acc[:group_item] = true
    else
      acc[:classes] << class_name
    end
  end
end