method
parse_GIT
v2_5_5 -
Show latest stable
- Class:
Gem::RequestSet::Lockfile::Parser
parse_GIT()public
No documentation available.
# File lib/rubygems/request_set/lockfile/parser.rb, line 173
def parse_GIT # :nodoc:
get :entry, 'remote'
repository = get(:text).value
skip :newline
get :entry, 'revision'
revision = get(:text).value
skip :newline
type = peek.type
value = peek.value
if type == :entry and ]branch ref tag].include? value then
get
get :text
skip :newline
end
get :entry, 'specs'
skip :newline
set = Gem::Resolver::GitSet.new
set.root_dir = @set.install_dir
last_spec = nil
while not @tokens.empty? and :text == peek.type do
token = get :text
name = token.value
column = token.column
case peek[0]
when :newline then
last_spec.add_dependency Gem::Dependency.new name if column == 6
when :l_paren then
get :l_paren
token = get [:text, :requirement]
type = token.type
data = token.value
if type == :text and column == 4 then
last_spec = set.add_git_spec name, data, repository, revision, true
else
dependency = parse_dependency name, data
last_spec.add_dependency dependency
end
get :r_paren
else
raise "BUG: unknown token #{peek}"
end
skip :newline
end
@set.sets << set
end