Sha256: 2e89aa6615092ea6ae667751898126049da6a3348c6cdd9a48c0499d36b0b136
Contents?: true
Size: 757 Bytes
Versions: 36
Compression:
Stored size: 757 Bytes
Contents
require "open-uri" class Middleman::HashiCorp::Releases RELEASES_URL = "https://releases.hashicorp.com".freeze class Build < Struct.new(:name, :version, :os, :arch, :url); end def self.fetch(product, version) url = "#{RELEASES_URL}/#{product}/#{version}/index.json" r = JSON.parse(open(url).string, create_additions: false, symbolize_names: true, ) # Convert the builds into the following format: # # { # "os" => { # "arch" => "https://download.url" # } # } # {}.tap do |h| r[:builds].each do |b| build = Build.new(*b.values_at(*Build.members)) h[build.os] ||= {} h[build.os][build.arch] = build.url end end end end
Version data entries
36 entries across 36 versions & 1 rubygems