Class: Pwsafe::Agent::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/pwsafe-agent/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Client

Returns a new instance of Client.



16
17
18
19
# File 'lib/pwsafe-agent/client.rb', line 16

def initialize(args)
  system 'pwsafe-agent'
  @args = args
end

Instance Method Details

#commandObject



33
34
35
36
# File 'lib/pwsafe-agent/client.rb', line 33

def command 
  password = driver.get
  "echo '#{password}' | #{PWSAFE} -E --output=#{TMP_FILE_PATH} #{stringified_args} > /dev/null"
end

#driverObject



21
22
23
# File 'lib/pwsafe-agent/client.rb', line 21

def driver 
  @driver ||= Driver.new
end


25
26
27
# File 'lib/pwsafe-agent/client.rb', line 25

def print_temp_file
  puts File.read(TMP_FILE_PATH)
end

#pwsafe_runObject



38
39
40
41
42
43
44
45
46
# File 'lib/pwsafe-agent/client.rb', line 38

def pwsafe_run
  if system(command)
    print_temp_file
    remove_temp_file
  else 
    puts "Some error occurred during command" 
    driver.flush
  end
end

#remove_temp_fileObject



29
30
31
# File 'lib/pwsafe-agent/client.rb', line 29

def remove_temp_file
  system "rm #{TMP_FILE_PATH}" 
end

#runObject



48
49
50
51
52
53
54
# File 'lib/pwsafe-agent/client.rb', line 48

def run 
  if @args.delete('--flush')
    driver.flush
  end

  pwsafe_run 
end

#stringified_argsObject



56
57
58
# File 'lib/pwsafe-agent/client.rb', line 56

def stringified_args
  @args.join ' ' 
end