layer-api 0.1.1 → 0.2.0

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
  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: