build_blankslate_arguments

in lib/primer/view_components/linters/blankslate_api_migration.rb [43:95]


      def build_blankslate_arguments(kwargs)
        new_blankslate = {
          arguments: {},
          slots: {
            visual_icon: {},
            visual_image: {},
            heading: {
              tag: ":h2"
            },
            description: {},
            primary_action: {},
            secondary_action: {}
          }
        }

        kwargs&.pairs&.each do |pair|
          source_value = pair.value.source

          case pair.key.value.to_sym
          when :title
            new_blankslate[:slots][:heading][:content] = extract_value(pair.value)
          when :title_tag
            new_blankslate[:slots][:heading][:tag] = source_value
          when :icon
            new_blankslate[:slots][:visual_icon][:icon] = source_value
          when :icon_size
            new_blankslate[:slots][:visual_icon][:size] = source_value
          when :image_src
            new_blankslate[:slots][:visual_image][:src] = source_value
          when :image_alt
            new_blankslate[:slots][:visual_image][:alt] = source_value
          when :description
            new_blankslate[:slots][:description][:content] = extract_value(pair.value)
          when :button_text
            new_blankslate[:slots][:primary_action][:content] = extract_value(pair.value)
          when :button_url
            new_blankslate[:slots][:primary_action][:href] = source_value
          when :button_classes
            new_blankslate[:slots][:primary_action][:classes] = source_value
          when :link_text
            new_blankslate[:slots][:secondary_action][:content] = extract_value(pair.value)
          when :link_url
            new_blankslate[:slots][:secondary_action][:href] = source_value
          when :large
            next 
          else
            new_blankslate[:arguments][pair.key.source] = source_value
          end
        end

        new_blankslate
      end