Class: Browserctl::SecretResolvers::OnePassword

Inherits:
Base
  • Object
show all
Defined in:
lib/browserctl/secret_resolvers/one_password.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.schemeObject



8
# File 'lib/browserctl/secret_resolvers/one_password.rb', line 8

def self.scheme = "op"

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/browserctl/secret_resolvers/one_password.rb', line 10

def available?
  system("which op > /dev/null 2>&1")
end

#resolve(reference) ⇒ Object



14
15
16
17
18
19
# File 'lib/browserctl/secret_resolvers/one_password.rb', line 14

def resolve(reference)
  result, status = Open3.capture2("op", "read", "op://#{reference}")
  raise SecretResolverError, "1Password item not found: op://#{reference}" unless status.success?

  result.chomp
end