lob 4.1.0 → 4.1.1

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: d8c8884204048312baba9bd6fff2f8ef66511ba0
4
- data.tar.gz: 43cf728195ba982d634961759390d85d89245c8f
3
+ metadata.gz: d5cfe05235642362fa53cba2a021265746216133
4
+ data.tar.gz: 9ebd24dfafb61a6ba0f061fd339d520e204cde1c
5
5
  SHA512:
6
- metadata.gz: 30bef61ae90c6d136b990d81c5338eec3138618226dae65c8d96a83f50b1c6334ae10817491903195f9d83d13533677afe18e22b33ff3da351712901b15e9afc
7
- data.tar.gz: 8e8effd0fac3ffa615668303462a282e479dd43d3f1d40181da5ad824eab9fea94548e77f981637d07e4b1cf95e88c5ae23ce4c27f789a3508d8952a934a56a3
6
+ metadata.gz: f6da1ef9315c24c5621466370f2db320d4f2d5c0ea29395ac387fe982f2673bacf116ea3ffc3f7fde631f9b2f4670f3baa2a6a650e2299c6235caabbd3c9e9bf
7
+ data.tar.gz: d6a8be68a93fd93b4fca6a9ec6651d35629638f4e53d01aa3d0d0271344e7151eed83106e9107960beee3316031eb5a8ebfdb56baa82fcaf9809a4e04bbcb3f0
@@ -1,3 +1,6 @@
1
+ ## [**4.1.1**](https://github.com/lob/lob-ruby/releases/tag/v4.1.1)
2
+ - [**#160**] (https://github.com/lob/lob-ruby/pull/160) adds capability to pass in idempotency headers
3
+
1
4
  ## [**4.1.0**](https://github.com/lob/lob-ruby/releases/tag/v4.1.0)
2
5
  - [**#158**] (https://github.com/lob/lob-ruby/pull/158) add US Zip Lookups API endpoint to wrapper
3
6
 
@@ -20,8 +20,8 @@ module Lob
20
20
  submit :get, resource_url(resource_id)
21
21
  end
22
22
 
23
- def create(options = {})
24
- submit :post, endpoint_url, options
23
+ def create(options={}, headers={})
24
+ submit :post, endpoint_url, options, headers
25
25
  end
26
26
 
27
27
  def destroy(resource_id)
@@ -30,7 +30,7 @@ module Lob
30
30
 
31
31
  private
32
32
 
33
- def submit(method, url, parameters={})
33
+ def submit(method, url, parameters={}, headers={})
34
34
  clientVersion = Lob::VERSION
35
35
 
36
36
  begin
@@ -42,10 +42,11 @@ module Lob
42
42
  "Lob-Version" => config[:api_version]
43
43
  })
44
44
  else
45
- response = RestClient.send(method, url, parameters, {
45
+ headers = headers.merge({
46
46
  user_agent: 'Lob/v1 RubyBindings/' + clientVersion,
47
47
  "Lob-Version" => config[:api_version]
48
48
  })
49
+ response = RestClient.send(method, url, parameters, headers)
49
50
  end
50
51
 
51
52
  body = JSON.parse(response)
@@ -1,3 +1,3 @@
1
1
  module Lob
2
- VERSION = "4.1.0"
2
+ VERSION = "4.1.1"
3
3
  end
@@ -37,7 +37,7 @@ describe Lob::Resources::Postcard do
37
37
  description: @sample_postcard_params[:description],
38
38
  to: new_address["id"],
39
39
  message: @sample_postcard_params[:message],
40
- front: "https://lob.com/postcardfront.pdf",
40
+ front: "https://lob.com/postcardfront.pdf"
41
41
  )
42
42
 
43
43
  result["description"].must_equal(@sample_postcard_params[:description])
@@ -3,7 +3,7 @@ require "spec_helper"
3
3
  describe Lob::Resources::ResourceBase do
4
4
 
5
5
  before :each do
6
- @api_key = "test"
6
+ @api_key = API_KEY
7
7
  end
8
8
 
9
9
  subject { Lob::Client.new(api_key: @api_key) }
@@ -50,4 +50,46 @@ describe Lob::Resources::ResourceBase do
50
50
  subject.states.must_be_kind_of(Lob::Resources::State)
51
51
  end
52
52
 
53
+ it "should accept an idempotency_key" do
54
+ sample_address_params = {
55
+ name: "TestAddress",
56
+ email: "test@test.com",
57
+ address_line1: "123 Test Street",
58
+ address_line2: "Unit 199",
59
+ address_city: "Mountain View",
60
+ address_state: "CA",
61
+ address_country: "US",
62
+ address_zip: 94085
63
+ }
64
+
65
+ sample_postcard_params = {
66
+ description: "TestPostcard",
67
+ message: "Sample postcard message"
68
+ }
69
+
70
+ new_address = subject.addresses.create sample_address_params
71
+
72
+ idempotency_key = "Test_Idempotency_key"
73
+
74
+ new_postcard = subject.postcards.create({
75
+ description: sample_postcard_params[:description],
76
+ to: new_address["id"],
77
+ message: sample_postcard_params[:message],
78
+ front: "https://lob.com/postcardfront.pdf"
79
+ }, {
80
+ "Idempotency-Key" => idempotency_key
81
+ })
82
+
83
+ new_postcard_dup = subject.postcards.create({
84
+ description: sample_postcard_params[:description],
85
+ to: new_address["id"],
86
+ message: sample_postcard_params[:message],
87
+ front: "https://lob.com/postcardfront.pdf"
88
+ }, {
89
+ "Idempotency-Key" => idempotency_key
90
+ })
91
+
92
+ new_postcard["id"].must_equal(new_postcard_dup["id"])
93
+ end
94
+
53
95
  end
metadata CHANGED
@@ -1,145 +1,145 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lob
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-04 00:00:00.000000000 Z
11
+ date: 2017-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.8'
20
- - - "<"
20
+ - - <
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.8'
30
- - - "<"
30
+ - - <
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.3'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ~>
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.3'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: 10.4.2
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ~>
59
59
  - !ruby/object:Gem::Version
60
60
  version: 10.4.2
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: minitest
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: 5.6.1
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ~>
73
73
  - !ruby/object:Gem::Version
74
74
  version: 5.6.1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: webmock
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ~>
80
80
  - !ruby/object:Gem::Version
81
81
  version: '1.2'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ~>
87
87
  - !ruby/object:Gem::Version
88
88
  version: '1.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: travis-lint
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
95
  version: 2.0.0
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
102
  version: 2.0.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: coveralls
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 0.8.1
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ~>
115
115
  - !ruby/object:Gem::Version
116
116
  version: 0.8.1
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: simplecov
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
123
  version: 0.10.0
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ~>
129
129
  - !ruby/object:Gem::Version
130
130
  version: 0.10.0
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: pry
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ~>
136
136
  - !ruby/object:Gem::Version
137
137
  version: 0.10.0
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ~>
143
143
  - !ruby/object:Gem::Version
144
144
  version: 0.10.0
145
145
  description: Lob API Ruby wrapper
@@ -149,8 +149,8 @@ executables: []
149
149
  extensions: []
150
150
  extra_rdoc_files: []
151
151
  files:
152
- - ".gitignore"
153
- - ".travis.yml"
152
+ - .gitignore
153
+ - .travis.yml
154
154
  - CHANGELOG.md
155
155
  - CONTRIBUTING.md
156
156
  - Gemfile
@@ -220,17 +220,17 @@ require_paths:
220
220
  - lib
221
221
  required_ruby_version: !ruby/object:Gem::Requirement
222
222
  requirements:
223
- - - ">="
223
+ - - '>='
224
224
  - !ruby/object:Gem::Version
225
225
  version: '0'
226
226
  required_rubygems_version: !ruby/object:Gem::Requirement
227
227
  requirements:
228
- - - ">="
228
+ - - '>='
229
229
  - !ruby/object:Gem::Version
230
230
  version: '0'
231
231
  requirements: []
232
232
  rubyforge_project:
233
- rubygems_version: 2.6.11
233
+ rubygems_version: 2.0.14.1
234
234
  signing_key:
235
235
  specification_version: 4
236
236
  summary: Ruby wrapper for Lob.com API with ActiveRecord-style syntax