class ERBLint::Linters::ArgumentMappers::CloseButton

Maps classes in a close-button element to arguments for the CloseButton component.

Constants

ATTRIBUTES
DEFAULT_CLASS
DEFAULT_TYPE
TYPE_OPTIONS

Public Instance Methods

attribute_to_args(attribute) click to toggle source
# File lib/primer/view_components/linters/argument_mappers/close_button.rb, line 24
def attribute_to_args(attribute)
  # button is the default type, so we don't need to do anything.
  return {} if attribute.value == DEFAULT_TYPE

  raise ConversionError, "CloseButton component does not support type \"#{attribute.value}\"" unless TYPE_OPTIONS.include?(attribute.value)

  { type: ":#{attribute.value}" }
end
classes_to_args(classes) click to toggle source
# File lib/primer/view_components/linters/argument_mappers/close_button.rb, line 33
def classes_to_args(classes)
  classes.each_with_object({ classes: [] }) do |class_name, acc|
    next if class_name == DEFAULT_CLASS

    acc[:classes] << class_name
  end
end