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

Sign up to get free protection for your applications and to get access to all the features.
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