# File lib/librarian/lockfile/parser.rb, line 23 def parse(string) lines = string.lines.map{|l| l.sub(/\s+\z/, '')}.reject(&:empty?) sources = extract_and_parse_sources(lines) manifests = compile(sources) manifests_index = Hash[manifests.map{|m| [m.name, m]}] raise StandardError, "Expected DEPENDENCIES topic!" unless lines.shift == "DEPENDENCIES" dependencies = extract_and_parse_dependencies(lines, manifests_index) Resolution.new(dependencies, manifests) end