terradactyl-terraform 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9dda13855bb6517d2e7fe5a31dc7f2d78b67bbe00a7aa891abd43eb3d857ffd
4
- data.tar.gz: 6b14fdf2b3c5dfa2a395814dd4161af2ef926b8577f96f0f09c812df3bf54bd1
3
+ metadata.gz: 11e631baa96e27046b275f81bac0278e8de6df12fe6faad1e23f8183843dc883
4
+ data.tar.gz: 6c4e638624c37e240ed580dca0f2cfa2b2a63b1fb4383b7839c6ea87cf6c2b66
5
5
  SHA512:
6
- metadata.gz: a0789fe7856b3eab604b13dc2d9a35e9f90a5ad8d3c314958f73792e2ef8ea58db946dd1c3a14662f723353ebf4cbbe9ee060202e12ecd358a75fee8fd0ec9df
7
- data.tar.gz: 1cc92cb6b6e47f32778e1b75d68114574dd5a1db6db1d5f96482a48c77ff93439054f3ff66f9d6fd050eb5b94a343364e6d5bef335efc56c6ec1ba8c83af470f
6
+ metadata.gz: 974e91a4fda13702ddf1607b1d0e6324d39e186fca52937be86a1d48cf6163623013bb432ac63b5baa98f754f245c27a27cb4dc25c8d927ed2e6135e8f3e9604
7
+ data.tar.gz: ae52c3bebfbed294a3aa9556559e48df250a8b8ac37bf572285b082370a039a8fb89413493f59ac66c3b24470a46c27fc340e6cfb0a30fe5af66c4a4c7b06c5e
data/.gitignore CHANGED
@@ -8,6 +8,7 @@ Gemfile.lock
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  vendor
11
+ .DS_Store
11
12
 
12
13
  # rspec failure tracking
13
14
  .rspec_status
data/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.2.1 (2022-06-13)
4
+
5
+ BUG FIX:
6
+
7
+ * differentiate between `arm` and `arm64` architectures
8
+ * fixes binary downloader on Apple silicon
9
+
10
+ MISCELLANEOUS:
11
+
12
+ * Add `.DS_Store` to `.gitignore`
13
+
14
+ ## 1.2.0 (2022-05-18)
15
+
16
+ NEW FEATURES:
17
+
18
+ * add support for Terraform version `~> 1.2.0`
19
+ * Update lib/terradactyl/terraform/commands/destroy.rb (add Rev1_02)
20
+ * Update lib/terradactyl/terraform/commands/init.rb (add Rev1_02)
21
+ * Update spec/fixtures/stacks (add rev1_02)
22
+ * Update spec/helpers.rb (add rev1_02)
23
+
24
+ ## 1.1.2 (2022-01-03)
25
+
26
+ BUG FIXES:
27
+
28
+ * fix calculation of latest version
29
+ * fix failing tests
30
+
3
31
  ## 1.1.0 (2021-12-09)
4
32
 
5
33
  NEW FEATURES:
@@ -62,6 +62,12 @@ module Terradactyl
62
62
  end
63
63
  end
64
64
 
65
+ module Rev1_02
66
+ module Destroy
67
+ include Terradactyl::Terraform::Rev015::Destroy
68
+ end
69
+ end
70
+
65
71
  module Commands
66
72
  class Destroy < Base
67
73
  end
@@ -59,6 +59,12 @@ module Terradactyl
59
59
  end
60
60
  end
61
61
 
62
+ module Rev1_02
63
+ module Init
64
+ include Terradactyl::Terraform::Rev015::Init
65
+ end
66
+ end
67
+
62
68
  module Commands
63
69
  class Init < Base
64
70
  end
@@ -108,6 +108,11 @@ module Terradactyl
108
108
  end
109
109
  end
110
110
 
111
+ module Rev1_02
112
+ class PlanFileParser < Rev012::PlanFileParser
113
+ end
114
+ end
115
+
111
116
  module Rev011
112
117
  class PlanFileParser < Rev012::PlanFileParser
113
118
  def checksum
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terradactyl
4
4
  module Terraform
5
- VERSION = '1.1.0'
5
+ VERSION = '1.2.1'
6
6
  end
7
7
  end
@@ -4,16 +4,15 @@ module Terradactyl
4
4
  module Terraform
5
5
  module VersionManager
6
6
  class Defaults
7
- DEFAULT_INSTALL_DIR = Gem.bindir
8
- DEFAULT_DOWNLOADS_URL = 'https://www.terraform.io/downloads.html'
9
- DEFAULT_RELEASES_URL = 'https://releases.hashicorp.com/terraform'
10
- DEFAULT_VERSION = nil
7
+ DEFAULT_INSTALL_DIR = Gem.bindir
8
+ DEFAULT_RELEASES_URL = 'https://releases.hashicorp.com/terraform'
9
+ DEFAULT_VERSION = nil
11
10
 
12
11
  def self.load
13
12
  new
14
13
  end
15
14
 
16
- attr_reader :version, :install_dir, :downloads_url, :releases_url
15
+ attr_reader :version, :install_dir, :releases_url
17
16
 
18
17
  def initialize
19
18
  load_defaults
@@ -31,10 +30,6 @@ module Terradactyl
31
30
  @install_dir = validate_path(option) || DEFAULT_INSTALL_DIR
32
31
  end
33
32
 
34
- def downloads_url=(option)
35
- @downloads_url = validate_url(option) || DEFAULT_DOWNLOADS_URL
36
- end
37
-
38
33
  def releases_url=(option)
39
34
  @releases_url = validate_url(option) || DEFAULT_RELEASES_URL
40
35
  end
@@ -66,7 +61,6 @@ module Terradactyl
66
61
 
67
62
  def load_defaults
68
63
  @install_dir = DEFAULT_INSTALL_DIR
69
- @downloads_url = DEFAULT_DOWNLOADS_URL
70
64
  @releases_url = DEFAULT_RELEASES_URL
71
65
  @version = DEFAULT_VERSION
72
66
  end
@@ -10,8 +10,10 @@ module Terradactyl
10
10
  'amd64'
11
11
  when /i?86|x86|i86pc/
12
12
  '386'
13
- when /^arm/
13
+ when /^arm$/
14
14
  'arm'
15
+ when /^arm64/
16
+ 'arm64'
15
17
  else
16
18
  raise "FATAL: Unsupported CPU arch, #{value}"
17
19
  end
@@ -36,10 +38,6 @@ module Terradactyl
36
38
  end
37
39
  end
38
40
 
39
- def downloads_url
40
- VersionManager.downloads_url
41
- end
42
-
43
41
  def releases_url
44
42
  VersionManager.releases_url
45
43
  end
@@ -31,8 +31,7 @@ module Terradactyl
31
31
  class << self
32
32
  extend Forwardable
33
33
 
34
- def_delegators :@options, :version, :version=, :install_dir,
35
- :install_dir=, :downloads_url, :downloads_url=,
34
+ def_delegators :@options, :version, :version=, :install_dir, :install_dir=,
36
35
  :releases_url, :releases_url=, :reset!
37
36
 
38
37
  def_delegators :@inventory, :[], :binaries, :any?
@@ -153,6 +152,9 @@ module Terradactyl
153
152
  fh = Downloader.fetch(releases_url)
154
153
  re = /terraform_(?<version>\d+\.\d+\.\d+(-\w+)?)/
155
154
  fh.read.scan(re).flatten.sort_by { |v| Gem::Version.new(v) }
155
+ ensure
156
+ fh.close
157
+ fh.unlink
156
158
  end
157
159
 
158
160
  def pessimistic_max(version)
@@ -163,12 +165,7 @@ module Terradactyl
163
165
  end
164
166
 
165
167
  def calculate_latest
166
- fh = Downloader.fetch(downloads_url)
167
- re = %r{#{releases_url}\/(?<version>\d+\.\d+\.\d+)}
168
- fh.read.match(re)['version']
169
- ensure
170
- fh.close
171
- fh.unlink
168
+ remote_versions.reject { |e| e =~ /\d+\.\d+\.\d+-/ }.last
172
169
  end
173
170
  end
174
171
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terradactyl-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Warsing
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-09 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip