module SecretServer::Commands::Secret

Command to fetch Secret values

Public Instance Methods

secret(id, opts = {}) click to toggle source
# File lib/secret_server/commands/secret.rb, line 5
def secret(id, opts = {})
  unless id.is_a?(Integer) && id > 0
    raise ArgumentError, 'id must be a positive integer'
  end
  args = ['-s', id.to_s]
  if opts.key? :field
    args += opts[:field] == :all ? ['-ad'] : ['-f', opts[:field].to_s]
  end
  secret_exec(*args)
end

Private Instance Methods

secret_exec(*args) click to toggle source
# File lib/secret_server/commands/secret.rb, line 18
def secret_exec(*args)
  stdout, * = sdkclient_exec('secret', *args)
  stdout.chomp!
  begin
    JSON.parse(stdout)
  rescue JSON::ParserError
    stdout
  end
end