class TeamPasswordManager::Client

Constants

HEADERS

Public Class Methods

new(opts) click to toggle source
# File lib/team_password_manager/client.rb, line 4
def initialize(opts)
  raise ArgumentError.new("Domain can't be nil!") if opts[:domain].nil?
  raise ArgumentError.new("Username can't be nil!") if opts[:username].nil?
  raise ArgumentError.new("Password can't be nil!") if opts[:password].nil?
  @base_url        = "https://#{opts[:domain]}/index.php/api/v4"
  basic_auth       = {:username => opts[:username], :password => opts[:password]}
  @request_options = { headers: HEADERS, :basic_auth => basic_auth }
end

Public Instance Methods

password(id) click to toggle source
# File lib/team_password_manager/client.rb, line 40
def password(id)
  get("/passwords/#{id}.json")
end
passwords() click to toggle source

Passwords

# File lib/team_password_manager/client.rb, line 16
def passwords
  get('/passwords.json')
end
passwords_archived() click to toggle source
# File lib/team_password_manager/client.rb, line 20
def passwords_archived
  get('/passwords/archived.json')
end
passwords_count() click to toggle source
# File lib/team_password_manager/client.rb, line 36
def passwords_count
  get('/passwords/count.json')
end
passwords_favorite() click to toggle source
# File lib/team_password_manager/client.rb, line 24
def passwords_favorite
  get('/passwords/favorite.json')
end
passwords_page(num) click to toggle source
# File lib/team_password_manager/client.rb, line 28
def passwords_page(num)
  get("/passwords/page/#{num}.json")
end
projects() click to toggle source

Projects

# File lib/team_password_manager/client.rb, line 47
def projects
  get('/projects.json')
end

Private Instance Methods

get(partial_url) click to toggle source
# File lib/team_password_manager/client.rb, line 53
def get(partial_url)
  url = @base_url + partial_url
  response = HTTParty.get(url, @request_options)
  JSON.parse(response.body)
end