7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/gems_snapshot/exporter/yml_exporter.rb', line 7
def export(filename)
hash_specs = {}
installed_gems.each do |spec|
versions = hash_specs[spec.name.to_s] || []
versions << spec.version.to_s
hash_specs[spec.name.to_s] = versions
end
gems = []
hash_specs.each do |spec_name, versions|
gems << {'name' => spec_name, 'versions' => versions}
end
main_hash = {'gems' => gems, 'sources' => Gem.sources}
File.open(filename, "w") { |file| file.puts(main_hash.to_yaml) }
filename
end
|