Sha256: 3a9dab5a00382a0c17d8e8f09c7eea7294ed3f4e0d0668f4dd919766f48169f2

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true

module Terradactyl
  module Terraform
    module VersionManager
      module Package
        def architecture(version = nil)
          case value = RbConfig::CONFIG['host_cpu'].downcase
          when /amd64|x86_64/
            'amd64'
          when /i?86|x86|i86pc/
            '386'
          when /^arm$/
            'arm'
          when /^arm64|aarch64/
            if !version.nil? && version.start_with?('0.')
              'amd64' # fall back to amd64 because no arm64 releases for TF versions < 1.0
            else
              'arm64'
            end
          else
            raise "FATAL: Unsupported CPU arch, #{value}"
          end
        end

        def platform
          case value = RbConfig::CONFIG['host_os'].downcase
          when /darwin/
            'darwin'
          when /freebsd/
            'freebsd'
          when /linux/
            'linux'
          when /openbsd/
            'openbsd'
          when /sunos|solaris/
            'solaris'
          when /mingw|mswin/
            'windows'
          else
            raise "FATAL: Unsupported OS Platform, #{value}"
          end
        end

        def releases_url
          VersionManager.releases_url
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
terradactyl-terraform-1.8.2 lib/terradactyl/terraform/version_manager/package.rb
terradactyl-terraform-1.8.1 lib/terradactyl/terraform/version_manager/package.rb