Sha256: 93bc9e99cba0657938f184e1c5e75e33544693cbf4091fc70867eac022542591

Contents?: true

Size: 860 Bytes

Versions: 160

Compression:

Stored size: 860 Bytes

Contents

# frozen_string_literal: true

require_relative "base"

module ERBLint
  module Linters
    module ArgumentMappers
      # Maps classes in a flash element to arguments for the Flash component.
      class Flash < Base
        SCHEME_MAPPINGS = {
          "flash-success" => ":success",
          "flash-warn" => ":warning",
          "flash-error" => ":danger"
        }.freeze

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

            if SCHEME_MAPPINGS[class_name] && acc[:scheme].nil?
              acc[:scheme] = SCHEME_MAPPINGS[class_name]
            elsif class_name == "flash-full"
              acc[:full] = true
            else
              acc[:classes] << class_name
            end
          end
        end
      end
    end
  end
end

Version data entries

160 entries across 160 versions & 3 rubygems

Version Path
openproject-primer_view_components-0.52.4 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.52.3 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.5 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.52.2 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.4 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.52.1 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.52.0 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.3 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.51.0 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.2 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.50.1 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.50.0 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.1 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.36.0 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.49.2 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.35.2 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.49.1 lib/primer/view_components/linters/argument_mappers/flash.rb
openproject-primer_view_components-0.49.0 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.35.1 lib/primer/view_components/linters/argument_mappers/flash.rb
primer_view_components-0.35.0 lib/primer/view_components/linters/argument_mappers/flash.rb