Sha256: 897bb33803cf2bb22bfd2e625f1589639ad843a63ccf46cebc372798d4a9c25d

Contents?: true

Size: 538 Bytes

Versions: 1

Compression:

Stored size: 538 Bytes

Contents

# frozen_string_literal: true

class Kraaken::Credentials::OnePassword < Kraaken::Credentials
  def credential(name)
    username = retrieve(name, "username")
    password = retrieve(name)
    Credential.new(username:, password:)
  end

  def password(name)
    retrieve name
  end

  private

  def retrieve(name, field = "password")
    stdout_str, stderr_str, exit_code = Open3.capture3("op read 'op://server/#{name}/#{field}'")
    raise StandardError.new(stderr_str) unless exit_code.success?
    stdout_str.strip.presence
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kraaken-0.0.1 lib/kraaken/credentials/one_password.rb