Sha256: e6a51d7fd31a822a90472731ce7a1acd6d93da574b65e5c9918feef2c03b2c48
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
require 'lino' module RubyTerraform module Commands class Base attr_reader :binary def initialize(binary: nil, logger: nil, stdin: nil, stdout: nil, stderr: nil) @binary = binary || RubyTerraform.configuration.binary @logger = logger || RubyTerraform.configuration.logger @stdin = stdin || RubyTerraform.configuration.stdin @stdout = stdout || RubyTerraform.configuration.stdout @stderr = stderr || RubyTerraform.configuration.stderr end def stdin @stdin end def stdout @stdout end def stderr @stderr end def execute(opts = {}) builder = instantiate_builder do_before(opts) command = configure_command(builder, opts) .build @logger.debug "Running '#{command.to_s}'." command.execute( stdin: stdin, stdout: stdout, stderr: stderr ) do_after(opts) end def instantiate_builder Lino::CommandLineBuilder .for_command(binary) .with_option_separator('=') end def do_before(opts) end def configure_command(builder, opts) end def do_after(opts) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems