Class: Cipherpipe::OnePassword::Upload

Inherits:
Object
  • Object
show all
Defined in:
lib/cipherpipe/one_password/upload.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(external_source, variables) ⇒ Upload

Returns a new instance of Upload.



9
10
11
12
# File 'lib/cipherpipe/one_password/upload.rb', line 9

def initialize(external_source, variables)
  @external_source = external_source
  @variables       = variables
end

Class Method Details

.call(external_source, variables) ⇒ Object



5
6
7
# File 'lib/cipherpipe/one_password/upload.rb', line 5

def self.call(external_source, variables)
  new(external_source, variables).call
end

Instance Method Details

#callObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cipherpipe/one_password/upload.rb', line 14

def call
  documents.each do |document|
    next unless document["overview"]["title"] == external_source.destination

    `op delete item "#{document["uuid"]}" --vault="#{vault}"`
  end

  Dir.mktmpdir do |directory|
    File.write "#{directory}/cipherpipe.json", JSON.dump(variables)

    `op create document "#{directory}/cipherpipe.json" --title="#{external_source.destination}" --vault="#{vault}"`
  end
end