dotloop_api 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f08ce1696b0f29b88463a37dfd35eee457f5ac530b5c467be5a2f44520fddff
4
- data.tar.gz: 0a34056a466d521d3c1eba7c1a08da3d067ba549c6eef387ae21ebeb817441b6
3
+ metadata.gz: '09093514a7750f94736ca83d5551ffa847df3d6f6d5e4e17225fa8800358db68'
4
+ data.tar.gz: 775de44fa8bff47e61e9e3a31c41f13f92770d0dabeec59ccf1610a519360e38
5
5
  SHA512:
6
- metadata.gz: db82a0b23bb972dedea7dbca8616a9849ca52caaa3b6ed3226cf91e65c3b1ecd07039cab0bc19a5fff53dcee494a5f7b2cac3cb90d707c31a07efe42330ed651
7
- data.tar.gz: f3101e5fe1d08271141179d9646725372f498c214327eb0bcf4b14c95d3c22d69ad92fcafe86a407d2db7fdca1cb8ebdcd930f6a520aec3556b0be3c8bd0b16c
6
+ metadata.gz: 99f4e75537be229c4a6e5e7bb975f75f59e1a3bdfd451dc98d8d0e736404f0d33667d84ec16521aa5d9b65e1556012f73eda82ea3090c8b5d9f66900f9602b2e
7
+ data.tar.gz: a1080ce7e33324a0d35293cd05e5539429b379a3a005fb0cbd6cfae1cbee81d08619971c07684facb2ff849296dd7041dcaa4f9ae708b81074eb554d6236f8f5
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -6,10 +6,16 @@ module DotloopApi
6
6
 
7
7
  attr_accessor :access_token
8
8
  attr_accessor :application
9
+ attr_accessor :limit
10
+ attr_accessor :limit_remaining
11
+ attr_accessor :limit_reset
9
12
 
10
13
  def initialize(access_token:, application: 'dotloop')
11
14
  @access_token = access_token
12
15
  @application = application
16
+ @limit = 100
17
+ @limit_remaining = 100
18
+ @limit_reset = 0
13
19
  end
14
20
 
15
21
  def get(page, params = {})
@@ -19,24 +25,28 @@ module DotloopApi
19
25
 
20
26
  def patch(page, model)
21
27
  response = self.class.patch(page, query: model.attributes, headers: headers, timeout: 60)
28
+ limits_from_headers(response.headers)
22
29
  handle_dotloop_error(response.code) if response.code != 200
23
30
  self.class.snakify(response.parsed_response)
24
31
  end
25
32
 
26
33
  def post(page, model)
27
34
  response = self.class.post(page, query: model.attributes, headers: headers, timeout: 60)
35
+ limits_from_headers(response.headers)
28
36
  handle_dotloop_error(response.code) if response.code != 200
29
37
  self.class.snakify(response.parsed_response)
30
38
  end
31
39
 
32
40
  def delete(page)
33
41
  response = self.class.delete(page, headers: headers, timeout: 60)
42
+ limits_from_headers(response.headers)
34
43
  handle_dotloop_error(response.code) if response.code != 200
35
44
  self.class.snakify(response.parsed_response)
36
45
  end
37
46
 
38
47
  def raw(page, params = {})
39
48
  response = self.class.get(page, query: params, headers: headers, timeout: 60)
49
+ limits_from_headers(response.headers)
40
50
  handle_dotloop_error(response.code) if response.code != 200
41
51
  response.parsed_response
42
52
  end
@@ -74,6 +84,12 @@ module DotloopApi
74
84
 
75
85
  private
76
86
 
87
+ def limits_from_headers(headers)
88
+ @limit = headers['X-RateLimit-Limit']
89
+ @limit_remaining = headers['X-RateLimit-Remaining']
90
+ @limit_reset = headers['X-RateLimit-Reset']
91
+ end
92
+
77
93
  def download_headers
78
94
  headers.merge('Accept' => 'application/pdf')
79
95
  end
@@ -1,3 +1,3 @@
1
1
  module DotloopApi
2
- VERSION = '0.1.3'.freeze
2
+ VERSION = '0.1.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dotloop_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loft47
@@ -34,7 +34,7 @@ cert_chain:
34
34
  0kvCxR+b/tFBgXiKyctaTk3/79ExegqDId4vd6lLHeVZWUc8KPTsq3DS+L8+MbSy
35
35
  sD7YoNz40ZizOuGGR723hQj/vDgCNGT1I6jOAA==
36
36
  -----END CERTIFICATE-----
37
- date: 2019-03-04 00:00:00.000000000 Z
37
+ date: 2019-03-19 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: activesupport
metadata.gz.sig CHANGED
Binary file