class Cipherpipe::OnePassword::Download

Constants

UnknownDocument

Attributes

external_source[R]

Public Class Methods

call(external_source) click to toggle source
# File lib/cipherpipe/one_password/download.rb, line 6
def self.call(external_source)
  new(external_source).call
end
new(external_source) click to toggle source
# File lib/cipherpipe/one_password/download.rb, line 10
def initialize(external_source)
  @external_source = external_source
end

Public Instance Methods

call() click to toggle source
# File lib/cipherpipe/one_password/download.rb, line 14
def call
  hash = documents.detect do |document|
    document["overview"]["title"] == external_source.destination
  end

  if hash.nil?
    raise UnknownDocument,
      "Cannot find #{external_source.destination} in 1Password vault #{vault}"
  end

  JSON.load `op get document \"#{hash["uuid"]}\" --vault \"#{vault}\"`
end

Private Instance Methods

documents() click to toggle source
# File lib/cipherpipe/one_password/download.rb, line 31
def documents
  JSON.load `op list documents --vault \"#{vault}\"`
end
vault() click to toggle source
# File lib/cipherpipe/one_password/download.rb, line 35
def vault
  external_source.options["vault"]
end