layer-api 0.1.1 → 0.2.0

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
  SHA1:
3
- metadata.gz: 8b4456ca45c29a36081fc82245729c848fc6f301
4
- data.tar.gz: e28f390d1b9be7eaa4f9d68fafae58ca0a06c646
3
+ metadata.gz: 734b3f9e8434613a0090e380e64b9a60cbc973e6
4
+ data.tar.gz: 24108e6722b990dd10ae2895d7e4342772955991
5
5
  SHA512:
6
- metadata.gz: 85a250b727905e5d1bcddd805e1ca0a94c0b14782831e8c00c1ec6f7103600439871c2c4739e823148dbe40faeec51732ad9cfd411651f294a23cbaf5e260b64
7
- data.tar.gz: 74047150a0f0f44ebbd314a5a672be5fde226bb6ab2d8088277f4645eb2c152941e581a7e003b36942bde77440f84ebecd44a931768452286546e25ea8b743f8
6
+ metadata.gz: 754057aedd74b4bf0a72efdd63f499723d04ff4391857fadfbfd3c077b7a2e8eb586849eea8d8f99dbf461aa0c63de7560988fc9e2c97bf6b80ffd658f1e564b
7
+ data.tar.gz: 33116fef4ff9492f0184690eac1b2957fb87387062d4e7c24dc55c65f1e10eacf97a4dccd986acc2837a8d039784706d3e6876e1003d4a3880c1e53a6f0b2f53
@@ -1,3 +1,5 @@
1
+ require 'securerandom'
2
+
1
3
  module Layer
2
4
  module Api
3
5
  module Configuration
@@ -7,7 +9,8 @@ module Layer
7
9
  {
8
10
  'Accept' => 'application/vnd.layer+json; version=1.0',
9
11
  'Authorization' => "Bearer #{api_token}",
10
- 'Content-Type' => 'application/json'
12
+ 'Content-Type' => 'application/json',
13
+ 'If-None-Match' => SecureRandom.uuid
11
14
  }
12
15
  end
13
16
 
@@ -2,7 +2,7 @@ module Layer
2
2
  module Api
3
3
  module Connection
4
4
  def connection
5
- connection ||= Faraday.new(url: base_url) do |faraday|
5
+ @connection ||= Faraday.new(url: base_url) do |faraday|
6
6
  faraday.headers = default_layer_headers
7
7
  faraday.request :url_encoded
8
8
  faraday.adapter Faraday.default_adapter
@@ -11,29 +11,33 @@ module Layer
11
11
  end
12
12
 
13
13
  def get(url, options = {})
14
- run_request(:get, url, options)
14
+ call(:get, url, options)
15
15
  end
16
16
 
17
17
  def post(url, options = {})
18
- run_request(:post, url, options)
18
+ call(:post, url, options)
19
19
  end
20
20
 
21
21
  def patch(url, options = {})
22
- run_request(:patch, url, options)
22
+ call(:patch, url, options)
23
23
  end
24
24
 
25
25
  def delete(url)
26
- run_request(:delete, url, options = {})
26
+ call(:delete, url, options = {})
27
+ end
28
+
29
+ def call(method, url, options = {})
30
+ response = run_request(method, url, options)
31
+ response.body.empty? ? nil : JSON.parse(response.body)
27
32
  end
28
33
 
29
34
  def run_request(method, url, options = {})
30
- response = connection.run_request(
35
+ connection.run_request(
31
36
  method,
32
37
  url,
33
38
  options[:body],
34
39
  options[:headers]
35
40
  )
36
- JSON.parse(response.body) if !response.body.empty?
37
41
  end
38
42
  end
39
43
  end
@@ -20,6 +20,10 @@ module Layer
20
20
  super(build_error_message)
21
21
  end
22
22
 
23
+ def response
24
+ @response
25
+ end
26
+
23
27
  private
24
28
 
25
29
  def build_error_message
@@ -1,5 +1,5 @@
1
1
  module Layer
2
2
  module Api
3
- VERSION = "0.1.1"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: layer-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Kelly
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-19 00:00:00.000000000 Z
11
+ date: 2015-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -177,4 +177,3 @@ signing_key:
177
177
  specification_version: 4
178
178
  summary: A ruby toolkit for Layer's Platform API (https://developer.layer.com/docs/platform)
179
179
  test_files: []
180
- has_rdoc: