lob 4.1.0 → 4.1.1

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