Sha256: c319f5260b04597a372ef7c50768da27f746b2029d9933ed2b125c36d32e7c62

Contents?: true

Size: 1.23 KB

Versions: 49

Compression:

Stored size: 1.23 KB

Contents

require "openssl"
require "net/https"
require "json"
require "pp"
require "uri"

THIS_DIR = File.expand_path(File.dirname(__FILE__))

UNIVERSE_JSON_PATH = File.join(THIS_DIR, "universe.json")
SMALL_UNIVERSE_JSON_PATH = File.join(THIS_DIR, "small_universe.json")
PRUNED_UNIVERSE_PATH = File.join(THIS_DIR, "pruned_small_universe.json")

COOKBOOKS_IN_SMALL_UNIVERSE = %w{apache2 application apt database mysql nginx postgresql yum}.freeze

universe = URI("https://supermarket.chef.io/universe")

universe_serialized = Net::HTTP.get(universe)

universe = JSON.parse(universe_serialized)

smaller_universe = universe.keep_if { |k, v| COOKBOOKS_IN_SMALL_UNIVERSE.include?(k) }

pruned_universe = smaller_universe.inject({}) do |pruned_graph, (cookbook_name, graph_info)|
  pruned_graph[cookbook_name] = graph_info.inject({}) do |per_version_graph, (version_number, version_info)|
    per_version_graph[version_number] = version_info["dependencies"]
    per_version_graph
  end
  pruned_graph
end

File.open(UNIVERSE_JSON_PATH, "w+") { |f| f.print(universe_serialized) }
File.open(SMALL_UNIVERSE_JSON_PATH, "w+") { |f| f.print(JSON.pretty_generate(smaller_universe)) }
File.open(PRUNED_UNIVERSE_PATH, "w+") { |f| f.print(JSON.pretty_generate(pruned_universe)) }

Version data entries

49 entries across 49 versions & 2 rubygems

Version Path
chef-dk-4.13.3 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.12.0 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.11.0 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.16 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.10.0 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.14 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.9.7 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.11 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.10 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.9 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.7 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.4 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-3.0.1 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-cli-2.0.10 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.7.73 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-3.13.1 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.6.35 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-3.12.10 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-3.12.0 spec/unit/fixtures/cookbooks_api/update_fixtures.rb
chef-dk-4.5.0 spec/unit/fixtures/cookbooks_api/update_fixtures.rb