breathe 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5bc312953451d463212c108da2b2557c60d6d3b96cbadb3a6f2d5b9479fef7d2
4
- data.tar.gz: daaf65eb95129d4cc7125f60f4fc084d542d4dc523445ecdec9405361449abf7
3
+ metadata.gz: a0603fe16b7652a523413e6d25e2384d25c7b24fa019a06f01faf942d2867251
4
+ data.tar.gz: a37a9df471df6171b84191114eb773ced11517062e47ab9c109225293fdc4a20
5
5
  SHA512:
6
- metadata.gz: bf79f5372a6fdcecd3f80e33799a16605851836734d4ccc6cc1ced217476ae929860a01c55633d0189c5b1a52fa0c25ba8ab5b55ec10ee4062c9f9011c7ce517
7
- data.tar.gz: d3b30de222e2dc441158eeee36cacc88515f0097e215fcd313369169758118f2d33e9feda12aab1ea26cf802b4500758a4632e29fb0d568baec235ef64c70e3b
6
+ metadata.gz: 913153ddc8209455f3823f3b76dc0d8abdf71d0d829cda670de37ca961d2320dc852ea44d316785034a32475bd07021b296447375ffe153af863c3bdf8ab6830
7
+ data.tar.gz: 1b907623d421d6c92a76f54b00a2ea76634eb133542aa64dba0a9a7a00af944019df0f0d18645a8921a2127ccfbb1554eb6a53d26d2c62a766f53d86141882fd
@@ -1,4 +1,6 @@
1
1
  name: Build
2
+ env:
3
+ BREATHE_API_KEY: "some-api-key"
2
4
 
3
5
  on: [push, pull_request]
4
6
 
data/.gitignore CHANGED
@@ -10,3 +10,4 @@
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
12
  /.env
13
+ /Gemfile.lock
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog]
6
6
 
7
+ [0.1.2]
8
+
9
+ - Raise an error when API key is incorrect
10
+ - Fix a bug where the client passed the wrong variable to fetch a resource
11
+
7
12
  [0.1.1]
8
13
 
9
14
  - Fix typo on client that prevented absences from being returned
@@ -12,6 +17,7 @@ The format is based on [Keep a Changelog]
12
17
 
13
18
  - Allow listing of absences
14
19
 
15
- [0.1.0]: https://github.com/dxw/breathe_ruby/releases/tag/0.1.0
20
+ [0.1.1]: https://github.com/dxw/breathe_ruby/releases/tag/0.1.2
16
21
  [0.1.1]: https://github.com/dxw/breathe_ruby/releases/tag/0.1.1
22
+ [0.1.0]: https://github.com/dxw/breathe_ruby/releases/tag/0.1.0
17
23
  [keep a changelog]: https://keepachangelog.com/en/1.0.0/
@@ -6,5 +6,6 @@ require "breathe/absences"
6
6
 
7
7
  module Breathe
8
8
  class Error < StandardError; end
9
+ class AuthenticationError < StandardError; end
9
10
  # Your code goes here...
10
11
  end
@@ -7,7 +7,7 @@ module Breathe
7
7
  end
8
8
 
9
9
  def absences
10
- @_absences ||= Absences.new(connection)
10
+ @_absences ||= Absences.new(self)
11
11
  end
12
12
 
13
13
  def get(url, url_opts = {})
@@ -20,6 +20,7 @@ module Breathe
20
20
 
21
21
  def connection
22
22
  Faraday.new(url: BASE_URL) do |faraday|
23
+ faraday.use Faraday::Response::RaiseError
23
24
  faraday.adapter Faraday.default_adapter
24
25
  end
25
26
  end
@@ -30,6 +31,13 @@ module Breathe
30
31
  req.headers["Content-Type"] = "application/json"
31
32
  req.headers["X-Api-Key"] = api_key
32
33
  end
34
+ rescue Faraday::ClientError => e
35
+ case e.message
36
+ when /401/
37
+ raise Breathe::AuthenticationError, "The BreatheHR API returned a 401 error - are you sure you've set the correct API key?"
38
+ else
39
+ raise e
40
+ end
33
41
  end
34
42
  end
35
43
  end
@@ -1,3 +1,3 @@
1
1
  module Breathe
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breathe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Harrison
@@ -151,7 +151,6 @@ files:
151
151
  - CHANGELOG.md
152
152
  - CODE_OF_CONDUCT.md
153
153
  - Gemfile
154
- - Gemfile.lock
155
154
  - LICENSE.txt
156
155
  - README.md
157
156
  - Rakefile
@@ -1,82 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- breathe (0.1.0)
5
- faraday (~> 0.17.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- addressable (2.7.0)
11
- public_suffix (>= 2.0.2, < 5.0)
12
- ast (2.4.0)
13
- coderay (1.1.2)
14
- crack (0.4.3)
15
- safe_yaml (~> 1.0.0)
16
- diff-lcs (1.3)
17
- dotenv (2.7.5)
18
- faraday (0.17.0)
19
- multipart-post (>= 1.2, < 3)
20
- hashdiff (1.0.0)
21
- jaro_winkler (1.5.4)
22
- method_source (0.9.2)
23
- multipart-post (2.1.1)
24
- parallel (1.18.0)
25
- parser (2.6.5.0)
26
- ast (~> 2.4.0)
27
- pry (0.12.2)
28
- coderay (~> 1.1.0)
29
- method_source (~> 0.9.0)
30
- public_suffix (4.0.1)
31
- rainbow (3.0.0)
32
- rake (10.5.0)
33
- rspec (3.9.0)
34
- rspec-core (~> 3.9.0)
35
- rspec-expectations (~> 3.9.0)
36
- rspec-mocks (~> 3.9.0)
37
- rspec-core (3.9.0)
38
- rspec-support (~> 3.9.0)
39
- rspec-expectations (3.9.0)
40
- diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.9.0)
42
- rspec-mocks (3.9.0)
43
- diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.9.0)
45
- rspec-support (3.9.0)
46
- rubocop (0.75.1)
47
- jaro_winkler (~> 1.5.1)
48
- parallel (~> 1.10)
49
- parser (>= 2.6)
50
- rainbow (>= 2.2.2, < 4.0)
51
- ruby-progressbar (~> 1.7)
52
- unicode-display_width (>= 1.4.0, < 1.7)
53
- rubocop-performance (1.5.0)
54
- rubocop (>= 0.71.0)
55
- ruby-progressbar (1.10.1)
56
- safe_yaml (1.0.5)
57
- standard (0.1.5)
58
- rubocop (~> 0.75.0)
59
- rubocop-performance (~> 1.5.0)
60
- unicode-display_width (1.6.0)
61
- vcr (5.0.0)
62
- webmock (3.7.6)
63
- addressable (>= 2.3.6)
64
- crack (>= 0.3.2)
65
- hashdiff (>= 0.4.0, < 2.0.0)
66
-
67
- PLATFORMS
68
- ruby
69
-
70
- DEPENDENCIES
71
- breathe!
72
- bundler (~> 2.0)
73
- dotenv (~> 2.7.5)
74
- pry (~> 0.12.2)
75
- rake (~> 10.0)
76
- rspec (~> 3.0)
77
- standard (~> 0.1.5)
78
- vcr (~> 5.0)
79
- webmock (~> 3.7.6)
80
-
81
- BUNDLED WITH
82
- 2.0.2