class Gem::Resolver::APISet::GemParser - rubygems: Ruby Standard Library Documentation

# class Gem::Resolver::APISet::GemParser

### Constants

EMPTY_ARRAY

### Public Instance Methods

parse(line) click to toggle source

    # File rubygems/resolver/api_set/gem_parser.rb, line 7
    def parse(line)
      version_and_platform, rest = line.split(" ", 2)
      version, platform = version_and_platform.split("-", 2)
      dependencies, requirements = rest.split("|", 2).map! {|s| s.split(",") } if rest
      dependencies = dependencies ? dependencies.map! {|d| parse_dependency(d) } : EMPTY_ARRAY
      requirements = requirements ? requirements.map! {|d| parse_dependency(d) } : EMPTY_ARRAY
      [version, platform, dependencies, requirements]
    end

### Private Instance Methods

parse_dependency(string) click to toggle source

    # File rubygems/resolver/api_set/gem_parser.rb, line 18
    def parse_dependency(string)
      dependency = string.split(":")
      dependency[-1] = dependency[-1].split("&") if dependency.size > 1
      dependency[0] = -dependency[0]
      dependency
    end