ruby-terraform 0.65.0.pre.8 → 0.65.0.pre.9

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Gemfile.lock +4 -1
  4. data/Rakefile +7 -3
  5. data/bin/console +1 -0
  6. data/lib/ruby-terraform.rb +2 -0
  7. data/lib/ruby_terraform.rb +4 -2
  8. data/lib/ruby_terraform/commands.rb +2 -0
  9. data/lib/ruby_terraform/commands/apply.rb +6 -4
  10. data/lib/ruby_terraform/commands/base.rb +22 -24
  11. data/lib/ruby_terraform/commands/clean.rb +2 -0
  12. data/lib/ruby_terraform/commands/destroy.rb +9 -7
  13. data/lib/ruby_terraform/commands/format.rb +6 -4
  14. data/lib/ruby_terraform/commands/get.rb +6 -4
  15. data/lib/ruby_terraform/commands/import.rb +9 -7
  16. data/lib/ruby_terraform/commands/init.rb +7 -5
  17. data/lib/ruby_terraform/commands/output.rb +8 -6
  18. data/lib/ruby_terraform/commands/plan.rb +7 -5
  19. data/lib/ruby_terraform/commands/refresh.rb +7 -5
  20. data/lib/ruby_terraform/commands/remote_config.rb +5 -3
  21. data/lib/ruby_terraform/commands/show.rb +6 -4
  22. data/lib/ruby_terraform/commands/validate.rb +7 -5
  23. data/lib/ruby_terraform/commands/workspace.rb +9 -7
  24. data/lib/ruby_terraform/errors.rb +2 -0
  25. data/lib/ruby_terraform/errors/execution_error.rb +2 -0
  26. data/lib/ruby_terraform/options.rb +2 -0
  27. data/lib/ruby_terraform/options/factory.rb +11 -9
  28. data/lib/ruby_terraform/options/name.rb +2 -0
  29. data/lib/ruby_terraform/options/types/base.rb +2 -0
  30. data/lib/ruby_terraform/options/types/boolean.rb +2 -0
  31. data/lib/ruby_terraform/options/types/flag.rb +2 -0
  32. data/lib/ruby_terraform/options/types/standard.rb +2 -0
  33. data/lib/ruby_terraform/options/values/boolean.rb +2 -0
  34. data/lib/ruby_terraform/output.rb +2 -0
  35. data/lib/ruby_terraform/version.rb +3 -1
  36. data/ruby_terraform.gemspec +58 -0
  37. metadata +17 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7bf0ddc673685c898ae6d2eada53730debf6f88b641fa14a6c9607ba7fecdb30
4
- data.tar.gz: f8514023bc5442bfa6d9c5148030dcba0bf6d926c3af2031b439bb179df1b15c
3
+ metadata.gz: d49c234d709a37f69ac311de2f0beb7123e88a70053af2a30955d28ffa712b54
4
+ data.tar.gz: 5cc7e8f312bc8217e4fc3e0fdcb28a44911580c93893ccb82b1e11d6e999f026
5
5
  SHA512:
6
- metadata.gz: f7db215e6820ddfde9c5362a27063413469a8d62ca57be6d2f68c0f6e47b9b02c8a32ce5f8e9471de41d8baca7dbf07c46d62e284d750e1da76584786f56ce65
7
- data.tar.gz: b5d3bbe7617c24bdf233c81a298d3a78df93e30f7d9a61145e05afe009e3fad49b840e4fcdbf082dbc9afd92be11147401cc691fab5a376c93a009fd9f34bf67
6
+ metadata.gz: 6abdb8f924a32c688c32b56e7908debfb9ebf1dd089b1ecab345239e15dca795d1cf722e3b0c66b2d8014f32e3a55acea945ff8fb6d52b2e0bb57fd5f64b0282
7
+ data.tar.gz: 543a406f62b65901a6b62479b919784774c7ced3bf1a4d1bae1c5f218367ecae8fc0bd4a16470a73addbc0e69033fd833c85fa41ae774448147aa62839adf809
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in ruby_terraform.gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-terraform (0.65.0.pre.8)
4
+ ruby-terraform (0.65.0.pre.9)
5
5
  lino (>= 2.3)
6
6
 
7
7
  GEM
@@ -126,6 +126,8 @@ GEM
126
126
  unicode-display_width (>= 1.4.0, < 3.0)
127
127
  rubocop-ast (1.4.1)
128
128
  parser (>= 2.7.1.5)
129
+ rubocop-rake (0.5.1)
130
+ rubocop
129
131
  rubocop-rspec (2.2.0)
130
132
  rubocop (~> 1.0)
131
133
  rubocop-ast (>= 1.1.0)
@@ -166,6 +168,7 @@ DEPENDENCIES
166
168
  rake_ssh (~> 0.4)
167
169
  rspec (~> 3.9)
168
170
  rubocop (~> 1.12)
171
+ rubocop-rake (~> 0.5)
169
172
  rubocop-rspec (~> 2.2)
170
173
  ruby-terraform!
171
174
  simplecov (~> 0.21)
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yaml'
2
4
  require 'rake_circle_ci'
3
5
  require 'rake_github'
@@ -7,13 +9,14 @@ require 'securerandom'
7
9
  require 'rspec/core/rake_task'
8
10
  require 'rubocop/rake_task'
9
11
 
10
- task default: [
11
- #:'library:fix',
12
- :'test:unit'
12
+ task default: %i[
13
+ library:fix
14
+ test:unit
13
15
  ]
14
16
 
15
17
  namespace :encryption do
16
18
  namespace :passphrase do
19
+ desc 'Generate encryption passphrase for CI GPG key'
17
20
  task :generate do
18
21
  File.open('config/secrets/ci/encryption.passphrase', 'w') do |f|
19
22
  f.write(SecureRandom.base64(36))
@@ -94,6 +97,7 @@ RakeGithub.define_repository_tasks(
94
97
  end
95
98
 
96
99
  namespace :pipeline do
100
+ desc 'Prepare CircleCI Pipeline'
97
101
  task prepare: %i[
98
102
  circle_ci:project:follow
99
103
  circle_ci:env_vars:ensure
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'ruby_terraform'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Enable `require 'ruby-terraform'`, to match the gem name
2
4
 
3
5
  require_relative 'ruby_terraform'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ruby_terraform/version'
2
4
  require 'ruby_terraform/errors'
3
5
  require 'ruby_terraform/options'
@@ -38,8 +40,8 @@ module RubyTerraform
38
40
  validate: RubyTerraform::Commands::Validate,
39
41
  workspace: RubyTerraform::Commands::Workspace
40
42
  }.each do |method, command_class|
41
- define_method(method) do |opts = {}|
42
- command_class.new.execute(opts)
43
+ define_method(method) do |parameters = {}|
44
+ command_class.new.execute(parameters)
43
45
  end
44
46
  end
45
47
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'commands/clean'
2
4
  require_relative 'commands/init'
3
5
  require_relative 'commands/get'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
@@ -8,7 +10,7 @@ module RubyTerraform
8
10
  end
9
11
 
10
12
  # rubocop:disable Metrics/MethodLength
11
- def switches
13
+ def options
12
14
  %w[
13
15
  -auto-approve
14
16
  -backup
@@ -28,12 +30,12 @@ module RubyTerraform
28
30
  [values[:plan] || values[:directory]]
29
31
  end
30
32
 
31
- def option_default_values(_opts)
33
+ def parameter_defaults(_parameters)
32
34
  { vars: {}, var_files: [], targets: [] }
33
35
  end
34
36
 
35
- def option_override_values(opts)
36
- { backup: opts[:no_backup] ? '-' : opts[:backup] }
37
+ def parameter_overrides(parameters)
38
+ { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
37
39
  end
38
40
  end
39
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'lino'
2
4
 
3
5
  require_relative '../errors'
@@ -17,10 +19,10 @@ module RubyTerraform
17
19
  initialize_command
18
20
  end
19
21
 
20
- def execute(opts = {})
21
- do_before(opts)
22
- build_and_execute_command(opts)
23
- do_after(opts)
22
+ def execute(parameters = {})
23
+ do_before(parameters)
24
+ build_and_execute_command(parameters)
25
+ do_after(parameters)
24
26
  rescue Open4::SpawnError
25
27
  message = "Failed while running '#{command_name}'."
26
28
  logger.error(message)
@@ -31,8 +33,8 @@ module RubyTerraform
31
33
 
32
34
  attr_reader :binary, :logger, :stdin, :stdout, :stderr
33
35
 
34
- def build_and_execute_command(opts)
35
- command = build_command(opts)
36
+ def build_and_execute_command(parameters)
37
+ command = build_command(parameters)
36
38
  logger.debug("Running '#{command}'.")
37
39
  command.execute(
38
40
  stdin: stdin,
@@ -45,38 +47,38 @@ module RubyTerraform
45
47
  self.class.to_s.split('::')[-1].downcase
46
48
  end
47
49
 
48
- def do_before(_opts); end
50
+ def do_before(_parameters); end
49
51
 
50
- def do_after(_opts); end
52
+ def do_after(_parameters); end
51
53
 
52
54
  private
53
55
 
54
56
  def initialize_command; end
55
57
 
56
- def build_command(opts)
57
- values = apply_option_defaults_and_overrides(opts)
58
+ def build_command(parameters)
59
+ parameters = resolve_parameters(parameters)
58
60
 
59
61
  Lino::CommandLineBuilder
60
62
  .for_command(@binary)
61
63
  .with_options_after_subcommands
62
64
  .with_option_separator('=')
63
- .with_appliables(options(values))
64
- .with_subcommands(subcommands(values))
65
- .with_arguments(arguments(values))
65
+ .with_appliables(Options::Factory.from(options, parameters))
66
+ .with_subcommands(subcommands(parameters))
67
+ .with_arguments(arguments(parameters))
66
68
  .build
67
69
  end
68
70
 
69
- def apply_option_defaults_and_overrides(opts)
70
- option_default_values(opts)
71
- .merge(opts)
72
- .merge(option_override_values(opts))
71
+ def resolve_parameters(parameters)
72
+ parameter_defaults(parameters)
73
+ .merge(parameters)
74
+ .merge(parameter_overrides(parameters))
73
75
  end
74
76
 
75
- def option_default_values(_values)
77
+ def parameter_defaults(_parameters)
76
78
  {}
77
79
  end
78
80
 
79
- def option_override_values(_values)
81
+ def parameter_overrides(_parameters)
80
82
  {}
81
83
  end
82
84
 
@@ -84,11 +86,7 @@ module RubyTerraform
84
86
  []
85
87
  end
86
88
 
87
- def options(values)
88
- RubyTerraform::Options::Factory.from(values, switches)
89
- end
90
-
91
- def switches
89
+ def options
92
90
  []
93
91
  end
94
92
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fileutils'
2
4
 
3
5
  module RubyTerraform
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Destroy < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -auto-approve
9
11
  -backup
@@ -16,20 +18,20 @@ module RubyTerraform
16
18
  ]
17
19
  end
18
20
 
19
- def subcommands(_values)
21
+ def subcommands(_parameters)
20
22
  %w[destroy]
21
23
  end
22
24
 
23
- def arguments(values)
24
- [values[:directory]]
25
+ def arguments(parameters)
26
+ [parameters[:directory]]
25
27
  end
26
28
 
27
- def option_default_values(_opts)
29
+ def parameter_defaults(_parameters)
28
30
  { vars: {}, var_files: [], targets: [] }
29
31
  end
30
32
 
31
- def option_override_values(opts)
32
- { backup: opts[:no_backup] ? '-' : opts[:backup] }
33
+ def parameter_overrides(parameters)
34
+ { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
33
35
  end
34
36
  end
35
37
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Format < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -check
9
11
  -diff
@@ -14,12 +16,12 @@ module RubyTerraform
14
16
  ]
15
17
  end
16
18
 
17
- def subcommands(_values)
19
+ def subcommands(_parameters)
18
20
  %w[fmt]
19
21
  end
20
22
 
21
- def arguments(values)
22
- [values[:directory]]
23
+ def arguments(parameters)
24
+ [parameters[:directory]]
23
25
  end
24
26
  end
25
27
  end
@@ -1,21 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Get < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -no-color
9
11
  -update
10
12
  ]
11
13
  end
12
14
 
13
- def subcommands(_values)
15
+ def subcommands(_parameters)
14
16
  %w[get]
15
17
  end
16
18
 
17
- def arguments(values)
18
- [values[:directory]]
19
+ def arguments(parameters)
20
+ [parameters[:directory]]
19
21
  end
20
22
  end
21
23
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Import < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -config
9
11
  -backup
@@ -15,20 +17,20 @@ module RubyTerraform
15
17
  ]
16
18
  end
17
19
 
18
- def subcommands(_values)
20
+ def subcommands(_parameters)
19
21
  %w[import]
20
22
  end
21
23
 
22
- def arguments(values)
23
- [values[:address], values[:id]]
24
+ def arguments(parameters)
25
+ [parameters[:address], parameters[:id]]
24
26
  end
25
27
 
26
- def option_default_values(_opts)
28
+ def parameter_defaults(_parameters)
27
29
  { vars: {}, var_files: [] }
28
30
  end
29
31
 
30
- def option_override_values(opts)
31
- { backup: opts[:no_backup] ? '-' : opts[:backup] }
32
+ def parameter_overrides(parameters)
33
+ { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
32
34
  end
33
35
  end
34
36
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Init < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -backend
9
11
  -backend-config
@@ -15,15 +17,15 @@ module RubyTerraform
15
17
  ]
16
18
  end
17
19
 
18
- def subcommands(_values)
20
+ def subcommands(_parameters)
19
21
  %w[init]
20
22
  end
21
23
 
22
- def arguments(values)
23
- [values[:path]]
24
+ def arguments(parameters)
25
+ [parameters[:path]]
24
26
  end
25
27
 
26
- def option_default_values(_opts)
28
+ def parameter_defaults(_parameters)
27
29
  { backend_config: {} }
28
30
  end
29
31
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'stringio'
2
4
  require_relative 'base'
3
5
 
@@ -10,7 +12,7 @@ module RubyTerraform
10
12
  @stdout = StringIO.new
11
13
  end
12
14
 
13
- def switches
15
+ def options
14
16
  %w[
15
17
  -json
16
18
  -module
@@ -20,17 +22,17 @@ module RubyTerraform
20
22
  ]
21
23
  end
22
24
 
23
- def subcommands(_values)
25
+ def subcommands(_parameters)
24
26
  %w[output]
25
27
  end
26
28
 
27
- def arguments(values)
28
- [values[:name]]
29
+ def arguments(parameters)
30
+ [parameters[:name]]
29
31
  end
30
32
 
31
- def do_after(opts)
33
+ def do_after(parameters)
32
34
  result = stdout.string
33
- opts[:name] ? result.chomp : result
35
+ parameters[:name] ? result.chomp : result
34
36
  end
35
37
  end
36
38
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Plan < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -destroy
9
11
  -input
@@ -16,15 +18,15 @@ module RubyTerraform
16
18
  ]
17
19
  end
18
20
 
19
- def subcommands(_values)
21
+ def subcommands(_parameters)
20
22
  %w[plan]
21
23
  end
22
24
 
23
- def arguments(values)
24
- [values[:directory]]
25
+ def arguments(parameters)
26
+ [parameters[:directory]]
25
27
  end
26
28
 
27
- def option_default_values(_opts)
29
+ def parameter_defaults(_parameters)
28
30
  { vars: {}, var_files: [], targets: [] }
29
31
  end
30
32
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Refresh < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -input
9
11
  -no-color
@@ -14,15 +16,15 @@ module RubyTerraform
14
16
  ]
15
17
  end
16
18
 
17
- def subcommands(_values)
19
+ def subcommands(_parameters)
18
20
  %w[refresh]
19
21
  end
20
22
 
21
- def arguments(values)
22
- [values[:directory]]
23
+ def arguments(parameters)
24
+ [parameters[:directory]]
23
25
  end
24
26
 
25
- def option_default_values(_opts)
27
+ def parameter_defaults(_parameters)
26
28
  { vars: {}, var_files: [], targets: [] }
27
29
  end
28
30
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class RemoteConfig < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -backend
9
11
  -backend-config
@@ -11,11 +13,11 @@ module RubyTerraform
11
13
  ]
12
14
  end
13
15
 
14
- def subcommands(_values)
16
+ def subcommands(_parameters)
15
17
  %w[remote config]
16
18
  end
17
19
 
18
- def option_default_values(_opts)
20
+ def parameter_defaults(_parameters)
19
21
  { backend_config: {} }
20
22
  end
21
23
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Show < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -json
9
11
  -module-depth
@@ -11,12 +13,12 @@ module RubyTerraform
11
13
  ]
12
14
  end
13
15
 
14
- def subcommands(_values)
16
+ def subcommands(_parameters)
15
17
  %w[show]
16
18
  end
17
19
 
18
- def arguments(values)
19
- [values[:path] || values[:directory]]
20
+ def arguments(parameters)
21
+ [parameters[:path] || parameters[:directory]]
20
22
  end
21
23
  end
22
24
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Validate < Base
6
- def switches
8
+ def options
7
9
  %w[
8
10
  -check-variables
9
11
  -json
@@ -14,15 +16,15 @@ module RubyTerraform
14
16
  ]
15
17
  end
16
18
 
17
- def subcommands(_values)
19
+ def subcommands(_parameters)
18
20
  %w[validate]
19
21
  end
20
22
 
21
- def arguments(values)
22
- [values[:directory]]
23
+ def arguments(parameters)
24
+ [parameters[:directory]]
23
25
  end
24
26
 
25
- def option_default_values(_opts)
27
+ def parameter_defaults(_parameters)
26
28
  { vars: {}, var_files: [] }
27
29
  end
28
30
  end
@@ -1,22 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module RubyTerraform
4
6
  module Commands
5
7
  class Workspace < Base
6
- def subcommands(values)
7
- commands = ['workspace', values[:operation]]
8
- if values[:workspace] && values[:operation] != 'list'
9
- commands << values[:workspace]
8
+ def subcommands(parameters)
9
+ commands = ['workspace', parameters[:operation]]
10
+ if parameters[:workspace] && parameters[:operation] != 'list'
11
+ commands << parameters[:workspace]
10
12
  else
11
13
  commands
12
14
  end
13
15
  end
14
16
 
15
- def arguments(values)
16
- [values[:directory]]
17
+ def arguments(parameters)
18
+ [parameters[:directory]]
17
19
  end
18
20
 
19
- def option_default_values(_opts)
21
+ def parameter_defaults(_parameters)
20
22
  { directory: nil, operation: 'list', workspace: nil }
21
23
  end
22
24
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'errors/execution_error'
2
4
 
3
5
  module RubyTerraform
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
4
  module Errors
3
5
  class ExecutionError < StandardError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'options/name'
2
4
  require_relative 'options/types/flag'
3
5
  require_relative 'options/types/boolean'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'name'
2
4
  require_relative 'types/boolean'
3
5
  require_relative 'types/flag'
@@ -61,15 +63,15 @@ module RubyTerraform
61
63
  out: :plan
62
64
  }.freeze
63
65
 
64
- def self.from(values, switches)
65
- new(values, switches).from
66
+ def self.from(names, parameters)
67
+ new(names, parameters).from
66
68
  end
67
69
 
68
70
  private_class_method :new
69
71
 
70
- def initialize(values, names)
71
- @names = names.map { |switch| Name.new(switch) }
72
- @values = values
72
+ def initialize(names, parameters)
73
+ @names = names.map { |name| Name.new(name) }
74
+ @parameters = parameters
73
75
  end
74
76
 
75
77
  def from
@@ -80,7 +82,7 @@ module RubyTerraform
80
82
 
81
83
  private
82
84
 
83
- attr_reader :names, :values
85
+ attr_reader :names, :parameters
84
86
 
85
87
  def options_from_name(name)
86
88
  return plural_options(name) if PLURAL_OPTIONS.include?(name)
@@ -92,15 +94,15 @@ module RubyTerraform
92
94
  end
93
95
 
94
96
  def boolean_option(name)
95
- [Types::Boolean.new(name.to_s, values[name.as_key])]
97
+ [Types::Boolean.new(name.to_s, parameters[name.as_key])]
96
98
  end
97
99
 
98
100
  def flag_option(name)
99
- [Types::Flag.new(name.to_s, values[name.as_key])]
101
+ [Types::Flag.new(name.to_s, parameters[name.as_key])]
100
102
  end
101
103
 
102
104
  def standard_option(name, hash_key)
103
- [Types::Standard.new(name.to_s, values[hash_key])]
105
+ [Types::Standard.new(name.to_s, parameters[hash_key])]
104
106
  end
105
107
 
106
108
  def override_option(name)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
4
  module Options
3
5
  class Name
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
4
  module Options
3
5
  module Types
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
  require_relative '../values/boolean'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
  require_relative '../values/boolean'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  require_relative 'base'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
4
  module Options
3
5
  module Values
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
4
  class Output
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RubyTerraform
2
- VERSION = '0.65.0.pre.8'.freeze
4
+ VERSION = '0.65.0.pre.9'
3
5
  end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'ruby_terraform/version'
6
+ require 'date'
7
+
8
+ files = %w[
9
+ bin
10
+ lib
11
+ CODE_OF_CONDUCT.md
12
+ ruby_terraform.gemspec
13
+ Gemfile
14
+ LICENSE.txt
15
+ Rakefile
16
+ README.md
17
+ ]
18
+
19
+ Gem::Specification.new do |spec|
20
+ spec.name = 'ruby-terraform'
21
+ spec.version = RubyTerraform::VERSION
22
+ spec.authors = ['Toby Clemson']
23
+ spec.email = ['tobyclemson@gmail.com']
24
+
25
+ spec.summary = 'A simple Ruby wrapper for invoking Terraform commands.'
26
+ spec.description =
27
+ 'Wraps the Terraform CLI so that Terraform can be invoked from a Ruby ' \
28
+ 'script or Rakefile.'
29
+ spec.homepage = 'https://github.com/infrablocks/ruby_terraform'
30
+ spec.license = 'MIT'
31
+
32
+ spec.files = `git ls-files -z`.split("\x0").select do |f|
33
+ f.match(/^(#{files.map { |g| Regexp.escape(g) }.join('|')})/)
34
+ end
35
+ spec.bindir = 'exe'
36
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
+ spec.require_paths = ['lib']
38
+
39
+ spec.required_ruby_version = '>= 2.6'
40
+
41
+ spec.add_dependency 'lino', '>= 2.3'
42
+
43
+ spec.add_development_dependency 'bundler', '~> 2.0'
44
+ spec.add_development_dependency 'faker', '~> 2.17'
45
+ spec.add_development_dependency 'gem-release', '~> 2.1'
46
+ spec.add_development_dependency 'guard', '~> 2.16'
47
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
48
+ spec.add_development_dependency 'rake', '~> 13.0'
49
+ spec.add_development_dependency 'rake_circle_ci', '~> 0.9'
50
+ spec.add_development_dependency 'rake_github', '~> 0.5'
51
+ spec.add_development_dependency 'rake_gpg', '~> 0.12'
52
+ spec.add_development_dependency 'rake_ssh', '~> 0.4'
53
+ spec.add_development_dependency 'rspec', '~> 3.9'
54
+ spec.add_development_dependency 'rubocop', '~> 1.12'
55
+ spec.add_development_dependency 'rubocop-rake', '~> 0.5'
56
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.2'
57
+ spec.add_development_dependency 'simplecov', '~> 0.21'
58
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.65.0.pre.8
4
+ version: 0.65.0.pre.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-05 00:00:00.000000000 Z
11
+ date: 2021-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lino
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '1.12'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop-rake
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.5'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.5'
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: rubocop-rspec
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -266,6 +280,7 @@ files:
266
280
  - lib/ruby_terraform/options/values/boolean.rb
267
281
  - lib/ruby_terraform/output.rb
268
282
  - lib/ruby_terraform/version.rb
283
+ - ruby_terraform.gemspec
269
284
  homepage: https://github.com/infrablocks/ruby_terraform
270
285
  licenses:
271
286
  - MIT