to_args

in lib/primer/view_components/linters/argument_mappers/system_arguments.rb [20:40]


        def to_args
          if attribute.erb?
            _, _, code_node = *attribute.node

            raise ConversionError, "Cannot convert erb block" if code_node.nil?

            code = code_node.loc.source.strip
            m = code.match(TEST_SELECTOR_REGEX)

            raise ConversionError, "Cannot convert erb block" if m.blank?

            { test_selector: m[:selector].tr("'", '"') }
          elsif attr_name == "data-test-selector"
            { test_selector: erb_helper.convert(attribute) }
          elsif attr_name.start_with?(*STRING_PARAMETERS)
            { "\"#{attr_name}\"" => erb_helper.convert(attribute) }
          else
            raise ConversionError, "Cannot convert attribute \"#{attr_name}\""
          end
        end