ruby-terraform 0.65.0.pre.4 → 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.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +8 -5
- data/Rakefile +7 -3
- data/bin/console +1 -0
- data/lib/ruby-terraform.rb +2 -0
- data/lib/ruby_terraform.rb +5 -2
- data/lib/ruby_terraform/commands.rb +2 -0
- data/lib/ruby_terraform/commands/apply.rb +32 -40
- data/lib/ruby_terraform/commands/base.rb +59 -18
- data/lib/ruby_terraform/commands/clean.rb +2 -0
- data/lib/ruby_terraform/commands/destroy.rb +28 -38
- data/lib/ruby_terraform/commands/format.rb +15 -17
- data/lib/ruby_terraform/commands/get.rb +15 -8
- data/lib/ruby_terraform/commands/import.rb +25 -34
- data/lib/ruby_terraform/commands/init.rb +21 -34
- data/lib/ruby_terraform/commands/output.rb +23 -22
- data/lib/ruby_terraform/commands/plan.rb +24 -37
- data/lib/ruby_terraform/commands/refresh.rb +22 -33
- data/lib/ruby_terraform/commands/remote_config.rb +14 -16
- data/lib/ruby_terraform/commands/show.rb +13 -13
- data/lib/ruby_terraform/commands/validate.rb +22 -30
- data/lib/ruby_terraform/commands/workspace.rb +15 -10
- data/lib/ruby_terraform/errors.rb +2 -0
- data/lib/ruby_terraform/errors/execution_error.rb +2 -0
- data/lib/ruby_terraform/options.rb +7 -0
- data/lib/ruby_terraform/options/factory.rb +118 -0
- data/lib/ruby_terraform/options/name.rb +45 -0
- data/lib/ruby_terraform/options/types/base.rb +26 -0
- data/lib/ruby_terraform/options/types/boolean.rb +18 -0
- data/lib/ruby_terraform/options/types/flag.rb +18 -0
- data/lib/ruby_terraform/options/types/standard.rb +43 -0
- data/lib/ruby_terraform/options/values/boolean.rb +31 -0
- data/lib/ruby_terraform/output.rb +17 -11
- data/lib/ruby_terraform/version.rb +3 -1
- data/ruby_terraform.gemspec +58 -0
- metadata +27 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d49c234d709a37f69ac311de2f0beb7123e88a70053af2a30955d28ffa712b54
         | 
| 4 | 
            +
              data.tar.gz: 5cc7e8f312bc8217e4fc3e0fdcb28a44911580c93893ccb82b1e11d6e999f026
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6abdb8f924a32c688c32b56e7908debfb9ebf1dd089b1ecab345239e15dca795d1cf722e3b0c66b2d8014f32e3a55acea945ff8fb6d52b2e0bb57fd5f64b0282
         | 
| 7 | 
            +
              data.tar.gz: 543a406f62b65901a6b62479b919784774c7ced3bf1a4d1bae1c5f218367ecae8fc0bd4a16470a73addbc0e69033fd833c85fa41ae774448147aa62839adf809
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                ruby-terraform (0.65.0.pre. | 
| 5 | 
            -
                  lino (>=  | 
| 4 | 
            +
                ruby-terraform (0.65.0.pre.9)
         | 
| 5 | 
            +
                  lino (>= 2.3)
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| 8 8 | 
             
              remote: https://rubygems.org/
         | 
| @@ -50,7 +50,7 @@ GEM | |
| 50 50 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 51 51 | 
             
                i18n (1.8.10)
         | 
| 52 52 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 53 | 
            -
                lino ( | 
| 53 | 
            +
                lino (2.3.0)
         | 
| 54 54 | 
             
                  hamster (~> 3.0)
         | 
| 55 55 | 
             
                  open4 (~> 1.3)
         | 
| 56 56 | 
             
                listen (3.5.1)
         | 
| @@ -101,7 +101,7 @@ GEM | |
| 101 101 | 
             
                rb-inotify (0.10.1)
         | 
| 102 102 | 
             
                  ffi (~> 1.0)
         | 
| 103 103 | 
             
                regexp_parser (2.1.1)
         | 
| 104 | 
            -
                rexml (3.2. | 
| 104 | 
            +
                rexml (3.2.5)
         | 
| 105 105 | 
             
                rspec (3.10.0)
         | 
| 106 106 | 
             
                  rspec-core (~> 3.10.0)
         | 
| 107 107 | 
             
                  rspec-expectations (~> 3.10.0)
         | 
| @@ -115,7 +115,7 @@ GEM | |
| 115 115 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 116 116 | 
             
                  rspec-support (~> 3.10.0)
         | 
| 117 117 | 
             
                rspec-support (3.10.2)
         | 
| 118 | 
            -
                rubocop (1.12. | 
| 118 | 
            +
                rubocop (1.12.1)
         | 
| 119 119 | 
             
                  parallel (~> 1.10)
         | 
| 120 120 | 
             
                  parser (>= 3.0.0.0)
         | 
| 121 121 | 
             
                  rainbow (>= 2.2.2, < 4.0)
         | 
| @@ -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 | 
            -
               | 
| 12 | 
            -
               | 
| 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
    
    
    
        data/lib/ruby-terraform.rb
    CHANGED
    
    
    
        data/lib/ruby_terraform.rb
    CHANGED
    
    | @@ -1,5 +1,8 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require 'ruby_terraform/version'
         | 
| 2 4 | 
             
            require 'ruby_terraform/errors'
         | 
| 5 | 
            +
            require 'ruby_terraform/options'
         | 
| 3 6 | 
             
            require 'ruby_terraform/commands'
         | 
| 4 7 | 
             
            require 'logger'
         | 
| 5 8 |  | 
| @@ -37,8 +40,8 @@ module RubyTerraform | |
| 37 40 | 
             
                  validate: RubyTerraform::Commands::Validate,
         | 
| 38 41 | 
             
                  workspace: RubyTerraform::Commands::Workspace
         | 
| 39 42 | 
             
                }.each do |method, command_class|
         | 
| 40 | 
            -
                  define_method(method) do | | 
| 41 | 
            -
                    command_class.new.execute( | 
| 43 | 
            +
                  define_method(method) do |parameters = {}|
         | 
| 44 | 
            +
                    command_class.new.execute(parameters)
         | 
| 42 45 | 
             
                  end
         | 
| 43 46 | 
             
                end
         | 
| 44 47 | 
             
              end
         | 
| @@ -1,49 +1,41 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            require_relative 'base'
         | 
| 3 4 |  | 
| 4 5 | 
             
            module RubyTerraform
         | 
| 5 6 | 
             
              module Commands
         | 
| 6 7 | 
             
                class Apply < Base
         | 
| 7 | 
            -
                  def  | 
| 8 | 
            -
                     | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
                     | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 8 | 
            +
                  def subcommands(_values)
         | 
| 9 | 
            +
                    %w[apply]
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  # rubocop:disable Metrics/MethodLength
         | 
| 13 | 
            +
                  def options
         | 
| 14 | 
            +
                    %w[
         | 
| 15 | 
            +
                      -auto-approve
         | 
| 16 | 
            +
                      -backup
         | 
| 17 | 
            +
                      -input
         | 
| 18 | 
            +
                      -lock
         | 
| 19 | 
            +
                      -lock-timeout
         | 
| 20 | 
            +
                      -no-color
         | 
| 21 | 
            +
                      -state
         | 
| 22 | 
            +
                      -target
         | 
| 23 | 
            +
                      -var
         | 
| 24 | 
            +
                      -var-file
         | 
| 25 | 
            +
                    ]
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                  # rubocop:enable Metrics/MethodLength
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  def arguments(values)
         | 
| 30 | 
            +
                    [values[:plan] || values[:directory]]
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                  def parameter_defaults(_parameters)
         | 
| 34 | 
            +
                    { vars: {}, var_files: [], targets: [] }
         | 
| 35 | 
            +
                  end
         | 
| 21 36 |  | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
                      vars.each do |key, value|
         | 
| 25 | 
            -
                        var_value = value.is_a?(String) ? value : JSON.generate(value)
         | 
| 26 | 
            -
                        sub = sub.with_option(
         | 
| 27 | 
            -
                          '-var', "'#{key}=#{var_value}'", separator: ' '
         | 
| 28 | 
            -
                        )
         | 
| 29 | 
            -
                      end
         | 
| 30 | 
            -
                      sub = sub.with_option('-var-file', var_file) if var_file
         | 
| 31 | 
            -
                      var_files.each do |file|
         | 
| 32 | 
            -
                        sub = sub.with_option('-var-file', file)
         | 
| 33 | 
            -
                      end
         | 
| 34 | 
            -
                      sub = sub.with_option('-target', target) if target
         | 
| 35 | 
            -
                      targets.each do |file|
         | 
| 36 | 
            -
                        sub = sub.with_option('-target', file)
         | 
| 37 | 
            -
                      end
         | 
| 38 | 
            -
                      sub = sub.with_option('-state', state) if state
         | 
| 39 | 
            -
                      sub = sub.with_option('-input', input) if input
         | 
| 40 | 
            -
                      sub = sub.with_option('-auto-approve', auto_approve) unless
         | 
| 41 | 
            -
                          auto_approve.nil?
         | 
| 42 | 
            -
                      sub = sub.with_option('-backup', backup) if backup
         | 
| 43 | 
            -
                      sub = sub.with_flag('-no-color') if no_color
         | 
| 44 | 
            -
                      sub
         | 
| 45 | 
            -
                    end
         | 
| 46 | 
            -
                      .with_argument(plan || directory)
         | 
| 37 | 
            +
                  def parameter_overrides(parameters)
         | 
| 38 | 
            +
                    { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
         | 
| 47 39 | 
             
                  end
         | 
| 48 40 | 
             
                end
         | 
| 49 41 | 
             
              end
         | 
| @@ -1,5 +1,9 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require 'lino'
         | 
| 4 | 
            +
             | 
| 2 5 | 
             
            require_relative '../errors'
         | 
| 6 | 
            +
            require_relative '../options/factory'
         | 
| 3 7 |  | 
| 4 8 | 
             
            module RubyTerraform
         | 
| 5 9 | 
             
              module Commands
         | 
| @@ -12,21 +16,13 @@ module RubyTerraform | |
| 12 16 | 
             
                    @stdin = stdin || RubyTerraform.configuration.stdin
         | 
| 13 17 | 
             
                    @stdout = stdout || RubyTerraform.configuration.stdout
         | 
| 14 18 | 
             
                    @stderr = stderr || RubyTerraform.configuration.stderr
         | 
| 19 | 
            +
                    initialize_command
         | 
| 15 20 | 
             
                  end
         | 
| 16 21 |  | 
| 17 | 
            -
                  def execute( | 
| 18 | 
            -
                     | 
| 19 | 
            -
             | 
| 20 | 
            -
                     | 
| 21 | 
            -
                    command = configure_command(builder, opts).build
         | 
| 22 | 
            -
                    logger.debug("Running '#{command}'.")
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                    command.execute(
         | 
| 25 | 
            -
                      stdin: stdin,
         | 
| 26 | 
            -
                      stdout: stdout,
         | 
| 27 | 
            -
                      stderr: stderr
         | 
| 28 | 
            -
                    )
         | 
| 29 | 
            -
                    do_after(opts)
         | 
| 22 | 
            +
                  def execute(parameters = {})
         | 
| 23 | 
            +
                    do_before(parameters)
         | 
| 24 | 
            +
                    build_and_execute_command(parameters)
         | 
| 25 | 
            +
                    do_after(parameters)
         | 
| 30 26 | 
             
                  rescue Open4::SpawnError
         | 
| 31 27 | 
             
                    message = "Failed while running '#{command_name}'."
         | 
| 32 28 | 
             
                    logger.error(message)
         | 
| @@ -37,21 +33,66 @@ module RubyTerraform | |
| 37 33 |  | 
| 38 34 | 
             
                  attr_reader :binary, :logger, :stdin, :stdout, :stderr
         | 
| 39 35 |  | 
| 36 | 
            +
                  def build_and_execute_command(parameters)
         | 
| 37 | 
            +
                    command = build_command(parameters)
         | 
| 38 | 
            +
                    logger.debug("Running '#{command}'.")
         | 
| 39 | 
            +
                    command.execute(
         | 
| 40 | 
            +
                      stdin: stdin,
         | 
| 41 | 
            +
                      stdout: stdout,
         | 
| 42 | 
            +
                      stderr: stderr
         | 
| 43 | 
            +
                    )
         | 
| 44 | 
            +
                  end
         | 
| 45 | 
            +
             | 
| 40 46 | 
             
                  def command_name
         | 
| 41 47 | 
             
                    self.class.to_s.split('::')[-1].downcase
         | 
| 42 48 | 
             
                  end
         | 
| 43 49 |  | 
| 44 | 
            -
                  def  | 
| 50 | 
            +
                  def do_before(_parameters); end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                  def do_after(_parameters); end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                  private
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  def initialize_command; end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  def build_command(parameters)
         | 
| 59 | 
            +
                    parameters = resolve_parameters(parameters)
         | 
| 60 | 
            +
             | 
| 45 61 | 
             
                    Lino::CommandLineBuilder
         | 
| 46 | 
            -
                      .for_command(binary)
         | 
| 62 | 
            +
                      .for_command(@binary)
         | 
| 63 | 
            +
                      .with_options_after_subcommands
         | 
| 47 64 | 
             
                      .with_option_separator('=')
         | 
| 65 | 
            +
                      .with_appliables(Options::Factory.from(options, parameters))
         | 
| 66 | 
            +
                      .with_subcommands(subcommands(parameters))
         | 
| 67 | 
            +
                      .with_arguments(arguments(parameters))
         | 
| 68 | 
            +
                      .build
         | 
| 69 | 
            +
                  end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                  def resolve_parameters(parameters)
         | 
| 72 | 
            +
                    parameter_defaults(parameters)
         | 
| 73 | 
            +
                      .merge(parameters)
         | 
| 74 | 
            +
                      .merge(parameter_overrides(parameters))
         | 
| 75 | 
            +
                  end
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                  def parameter_defaults(_parameters)
         | 
| 78 | 
            +
                    {}
         | 
| 79 | 
            +
                  end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                  def parameter_overrides(_parameters)
         | 
| 82 | 
            +
                    {}
         | 
| 48 83 | 
             
                  end
         | 
| 49 84 |  | 
| 50 | 
            -
                  def  | 
| 85 | 
            +
                  def subcommands(_values)
         | 
| 86 | 
            +
                    []
         | 
| 87 | 
            +
                  end
         | 
| 51 88 |  | 
| 52 | 
            -
                  def  | 
| 89 | 
            +
                  def options
         | 
| 90 | 
            +
                    []
         | 
| 91 | 
            +
                  end
         | 
| 53 92 |  | 
| 54 | 
            -
                  def  | 
| 93 | 
            +
                  def arguments(_values)
         | 
| 94 | 
            +
                    []
         | 
| 95 | 
            +
                  end
         | 
| 55 96 | 
             
                end
         | 
| 56 97 | 
             
              end
         | 
| 57 98 | 
             
            end
         | 
| @@ -1,47 +1,37 @@ | |
| 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  | 
| 7 | 
            -
                     | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
                     | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 8 | 
            +
                  def options
         | 
| 9 | 
            +
                    %w[
         | 
| 10 | 
            +
                      -auto-approve
         | 
| 11 | 
            +
                      -backup
         | 
| 12 | 
            +
                      -force
         | 
| 13 | 
            +
                      -no-color
         | 
| 14 | 
            +
                      -state
         | 
| 15 | 
            +
                      -target
         | 
| 16 | 
            +
                      -var
         | 
| 17 | 
            +
                      -var-file
         | 
| 18 | 
            +
                    ]
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def subcommands(_parameters)
         | 
| 22 | 
            +
                    %w[destroy]
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  def arguments(parameters)
         | 
| 26 | 
            +
                    [parameters[:directory]]
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  def parameter_defaults(_parameters)
         | 
| 30 | 
            +
                    { vars: {}, var_files: [], targets: [] }
         | 
| 31 | 
            +
                  end
         | 
| 19 32 |  | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
                      vars.each do |key, value|
         | 
| 23 | 
            -
                        var_value = value.is_a?(String) ? value : JSON.generate(value)
         | 
| 24 | 
            -
                        sub = sub.with_option(
         | 
| 25 | 
            -
                          '-var', "'#{key}=#{var_value}'", separator: ' '
         | 
| 26 | 
            -
                        )
         | 
| 27 | 
            -
                      end
         | 
| 28 | 
            -
                      sub = sub.with_option('-var-file', var_file) if var_file
         | 
| 29 | 
            -
                      var_files.each do |file|
         | 
| 30 | 
            -
                        sub = sub.with_option('-var-file', file)
         | 
| 31 | 
            -
                      end
         | 
| 32 | 
            -
                      sub = sub.with_option('-target', target) if target
         | 
| 33 | 
            -
                      targets.each do |target_name|
         | 
| 34 | 
            -
                        sub = sub.with_option('-target', target_name)
         | 
| 35 | 
            -
                      end
         | 
| 36 | 
            -
                      sub = sub.with_option('-state', state) if state
         | 
| 37 | 
            -
                      sub = sub.with_option('-auto-approve', auto_approve) unless
         | 
| 38 | 
            -
                          auto_approve.nil?
         | 
| 39 | 
            -
                      sub = sub.with_option('-backup', backup) if backup
         | 
| 40 | 
            -
                      sub = sub.with_flag('-no-color') if no_color
         | 
| 41 | 
            -
                      sub = sub.with_flag('-force') if force
         | 
| 42 | 
            -
                      sub
         | 
| 43 | 
            -
                    end
         | 
| 44 | 
            -
                      .with_argument(directory)
         | 
| 33 | 
            +
                  def parameter_overrides(parameters)
         | 
| 34 | 
            +
                    { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
         | 
| 45 35 | 
             
                  end
         | 
| 46 36 | 
             
                end
         | 
| 47 37 | 
             
              end
         | 
| @@ -5,25 +5,23 @@ require_relative 'base' | |
| 5 5 | 
             
            module RubyTerraform
         | 
| 6 6 | 
             
              module Commands
         | 
| 7 7 | 
             
                class Format < Base
         | 
| 8 | 
            -
                  def  | 
| 9 | 
            -
                     | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 8 | 
            +
                  def options
         | 
| 9 | 
            +
                    %w[
         | 
| 10 | 
            +
                      -check
         | 
| 11 | 
            +
                      -diff
         | 
| 12 | 
            +
                      -list
         | 
| 13 | 
            +
                      -no-color
         | 
| 14 | 
            +
                      -recursive
         | 
| 15 | 
            +
                      -write
         | 
| 16 | 
            +
                    ]
         | 
| 17 | 
            +
                  end
         | 
| 16 18 |  | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 19 | 
            +
                  def subcommands(_parameters)
         | 
| 20 | 
            +
                    %w[fmt]
         | 
| 21 | 
            +
                  end
         | 
| 20 22 |  | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
                      sub = sub.with_flag('-no-color') if no_color
         | 
| 24 | 
            -
                      sub = sub.with_flag('-recursive') if recursive
         | 
| 25 | 
            -
                      sub
         | 
| 26 | 
            -
                    end.with_argument(directory)
         | 
| 23 | 
            +
                  def arguments(parameters)
         | 
| 24 | 
            +
                    [parameters[:directory]]
         | 
| 27 25 | 
             
                  end
         | 
| 28 26 | 
             
                end
         | 
| 29 27 | 
             
              end
         |