class Passwordstate::Resources::Password

Public Class Methods

all(client, query = {}) click to toggle source
Calls superclass method Passwordstate::Resource::all
# File lib/passwordstate/resources/password.rb, line 81
def self.all(client, query = {})
  super client, { query_all: true }.merge(query)
end
generate(client, options = {}) click to toggle source
# File lib/passwordstate/resources/password.rb, line 89
def self.generate(client, options = {})
  results = client.request(:get, 'generatepassword', query: options).map { |r| r['Password'] }
  return results.first if results.count == 1

  results
end

Public Instance Methods

add_dependency(data = {}) click to toggle source
# File lib/passwordstate/resources/password.rb, line 75
def add_dependency(data = {})
  raise 'Password dependency creation only available for stored passwords' unless stored?

  client.request :post, 'dependencies', body: self.class.passwordstatify_hash(data.merge(password_id: password_id))
end
check_in() click to toggle source
# File lib/passwordstate/resources/password.rb, line 54
def check_in
  client.request :get, "passwords/#{password_id}", query: passwordstatify_hash(check_in: nil)
end
delete(recycle = false, query = {}) click to toggle source
Calls superclass method Passwordstate::Resource#delete
# File lib/passwordstate/resources/password.rb, line 71
def delete(recycle = false, query = {})
  super query.merge(move_to_recycle_bin: recycle)
end
history() click to toggle source
# File lib/passwordstate/resources/password.rb, line 58
def history
  raise 'Password history only available on stored passwords' unless stored?

  Passwordstate::ResourceList.new client, PasswordHistory,
                                  all_path: "passwordhistory/#{password_id}",
                                  only: :all
end
permissions() click to toggle source
# File lib/passwordstate/resources/password.rb, line 66
def permissions
  client.require_version('>= 8.4.8449')
  PasswordPermission.new(_client: client, password_id: password_id)
end