{"record":{"id":"0dc1d23aac07553d","repo":"ruby/rubygems","slug":"illformed-requirement-obj-inspect","errorCode":null,"errorMessage":"Illformed requirement [#{obj.inspect}]","messagePattern":"Illformed requirement \\[#(.+?)\\]","errorType":"exception","errorClass":"BadRequirementError","httpStatus":null,"severity":"error","filePath":"lib/rubygems/requirement.rb","lineNumber":107,"sourceCode":"  end\n\n  ##\n  # Parse +obj+, returning an <tt>[op, version]</tt> pair. +obj+ can\n  # be a String or a Gem::Version.\n  #\n  # If +obj+ is a String, it can be either a full requirement\n  # specification, like <tt>\">= 1.2\"</tt>, or a simple version number,\n  # like <tt>\"1.2\"</tt>.\n  #\n  #     parse(\"> 1.0\")                 # => [\">\", Gem::Version.new(\"1.0\")]\n  #     parse(\"1.0\")                   # => [\"=\", Gem::Version.new(\"1.0\")]\n  #     parse(Gem::Version.new(\"1.0\")) # => [\"=,  Gem::Version.new(\"1.0\")]\n\n  def self.parse(obj)\n    return [\"=\", obj] if Gem::Version === obj\n\n    unless PATTERN =~ obj.to_s\n      raise BadRequirementError, \"Illformed requirement [#{obj.inspect}]\"\n    end\n    op = -($1 || \"=\")\n    version = -$2\n\n    if op == \">=\" && version == \"0\"\n      DefaultRequirement\n    elsif op == \">=\" && version == \"0.a\"\n      DefaultPrereleaseRequirement\n    else\n      [op, Gem::Version.new(version)]\n    end\n  end\n\n  ##\n  # An array of requirement pairs. The first element of the pair is\n  # the op, and the second is the Gem::Version.\n\n  attr_reader :requirements # :nodoc:","sourceCodeStart":89,"sourceCodeEnd":125,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/requirement.rb#L89-L125","documentation":"Error \"Illformed requirement [#{obj.inspect}]\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/requirement.rb:107 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the version requirement string (e.g. '>= 1.0', '~> 2.1'); the reported value is malformed"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}