Sha256: 85a2b465f3b0a37edef8c29a18d9a812c678396185fcbf3bb5ca4b3272516e7c

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require_relative 'base'

module RubyTerraform
  module Commands
    class Init < Base
      def configure_command(builder, opts)
        no_color = opts[:no_color]
        backend = opts[:backend]
        get = opts[:get]
        backend_config = opts[:backend_config] || {}
        source = opts[:from_module]
        path = opts[:path]
        plugin_dir = opts[:plugin_dir]
        force_copy = opts[:force_copy]

        builder = builder
            .with_subcommand('init') do |sub|
              sub = sub.with_option('-backend', backend) unless backend.nil?
              sub = sub.with_option('-force-copy', force_copy) unless force_copy.nil?
              sub = sub.with_option('-get', get) unless get.nil?
              sub = sub.with_option('-from-module', source) if source
              sub = sub.with_flag('-no-color') if no_color
              sub = sub.with_option('-plugin-dir', plugin_dir) unless plugin_dir.nil?
              backend_config.each do |key, value|
                sub = sub.with_option(
                    '-backend-config',
                    "'#{key}=#{value}'",
                    separator: ' ')
              end
              sub
            end

        builder = builder.with_argument(path) if path

        builder
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-terraform-0.65.0.pre.2 lib/ruby_terraform/commands/init.rb
ruby-terraform-0.65.0.pre.1 lib/ruby_terraform/commands/init.rb