in lib/rubocop/cop/primer/primer_octicon.rb [38:69]
def on_send(node)
return unless node.method_name == :octicon
return unless node.arguments?
kwargs = kwargs(node)
return unless kwargs.type == :hash
attributes = kwargs.keys.map(&:value)
return unless attributes.all? { |attribute| attribute.match?(ATTRIBUTE_REGEX) }
return if octicon_size_attributes(kwargs) == INVALID_ATTRIBUTE
classes = classes(kwargs)
return if classes == INVALID_ATTRIBUTE
if classes.present?
system_arguments = ::Primer::Classify::Utilities.classes_to_hash(classes)
invalid_classes = (system_arguments[:classes]&.split(" ") || []).select { |class_name| ::Primer::Classify::Validation.invalid?(class_name) }
return if invalid_classes.present?
end
add_offense(node, message: INVALID_MESSAGE)
end