Class: TeamPasswordManager::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/team_password_manager/client.rb

Constant Summary collapse

HEADERS =
{ 'Content-Type' => 'application/json; charset=utf-8' }

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
# 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

Instance Method Details

#password(id) ⇒ Object



40
41
42
# File 'lib/team_password_manager/client.rb', line 40

def password(id)
  get("/passwords/#{id}.json")
end

#passwordsObject

Passwords



16
17
18
# File 'lib/team_password_manager/client.rb', line 16

def passwords
  get('/passwords.json')
end

#passwords_archivedObject



20
21
22
# File 'lib/team_password_manager/client.rb', line 20

def passwords_archived
  get('/passwords/archived.json')
end

#passwords_countObject



36
37
38
# File 'lib/team_password_manager/client.rb', line 36

def passwords_count
  get('/passwords/count.json')
end

#passwords_favoriteObject



24
25
26
# File 'lib/team_password_manager/client.rb', line 24

def passwords_favorite
  get('/passwords/favorite.json')
end

#passwords_page(num) ⇒ Object



28
29
30
# File 'lib/team_password_manager/client.rb', line 28

def passwords_page(num)
  get("/passwords/page/#{num}.json")
end

#passwords_search(str) ⇒ Object



32
33
34
# File 'lib/team_password_manager/client.rb', line 32

def passwords_search(str)
  get("/passwords/search/#{URI::encode(str)}.json")
end

#projectsObject

Projects



47
48
49
# File 'lib/team_password_manager/client.rb', line 47

def projects
  get('/projects.json')
end