Class: Kettle::Dev::InteractiveReleaseCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/kettle/dev/interactive_release_command.rb

Instance Method Summary collapse

Constructor Details

#initialize(secrets_provider:, input: $stdin, output: $stdout, error: $stderr, secret_event_handler: nil, forward_stdin: false) ⇒ InteractiveReleaseCommand

Returns a new instance of InteractiveReleaseCommand.



9
10
11
12
13
14
15
16
17
# File 'lib/kettle/dev/interactive_release_command.rb', line 9

def initialize(secrets_provider:, input: $stdin, output: $stdout, error: $stderr, secret_event_handler: nil, forward_stdin: false)
  @secrets_provider = secrets_provider
  @input = input
  @output = output
  @error = error
  @secret_event_handler = secret_event_handler
  @forward_stdin = forward_stdin
  @gem_signing_passphrase = nil
end

Instance Method Details

#call(env, cmd) ⇒ Object



19
20
21
# File 'lib/kettle/dev/interactive_release_command.rb', line 19

def call(env, cmd)
  call_argv(env, Shellwords.split(cmd.to_s))
end

#call_argv(env, argv) ⇒ Object



23
24
25
26
27
# File 'lib/kettle/dev/interactive_release_command.rb', line 23

def call_argv(env, argv)
  return call_with_pty(env, argv) if pty_available?

  call_with_open3(env, argv)
end