lob 4.3.0 → 5.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 +4 -4
- data/.travis.yml +4 -10
- data/CHANGELOG.md +30 -0
- data/README.md +15 -20
- data/examples/README.md +4 -0
- data/examples/checks.rb +1 -1
- data/examples/csv_checks/create_checks.rb +1 -1
- data/examples/csv_letters/create_letters.rb +1 -1
- data/examples/csv_letters/letter_template.html +1 -1
- data/examples/csv_postcards/create_postcards.rb +1 -1
- data/examples/csv_postcards/input.csv +7 -7
- data/examples/csv_postcards/postcard_back.html +1 -1
- data/examples/csv_verify/verify.rb +1 -1
- data/examples/letters.rb +2 -2
- data/examples/postcards.rb +3 -3
- data/examples/self_mailers.rb +37 -0
- data/lib/lob/client.rb +13 -8
- data/lib/lob/resources/{area.rb → group.rb} +2 -4
- data/lib/lob/resources/groups_member.rb +66 -0
- data/lib/lob/resources/resource_base.rb +8 -5
- data/lib/lob/resources/self_mailer.rb +14 -0
- data/lib/lob/version.rb +1 -1
- data/lob.gemspec +4 -7
- data/spec/lob/resources/check_spec.rb +21 -0
- data/spec/lob/resources/group_spec.rb +50 -0
- data/spec/lob/resources/intl_verifications_spec.rb +4 -7
- data/spec/lob/resources/letter_spec.rb +24 -4
- data/spec/lob/resources/member_spec.rb +65 -0
- data/spec/lob/resources/postcard_spec.rb +30 -5
- data/spec/lob/resources/resource_base_spec.rb +4 -16
- data/spec/lob/resources/self_mailer_spec.rb +177 -0
- data/spec/samples/sfm-12x9-inside.pdf +0 -0
- data/spec/samples/sfm-12x9-outside.pdf +0 -0
- data/spec/samples/sfm-6x18-inside.pdf +0 -0
- data/spec/samples/sfm-6x18-outside.pdf +0 -0
- data/spec/spec_helper.rb +3 -3
- metadata +29 -60
- data/lib/lob/resources/route.rb +0 -33
- data/spec/lob/resources/area_spec.rb +0 -59
- data/spec/lob/resources/route_spec.rb +0 -39
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/spec/spec_helper.rb
CHANGED
|
@@ -3,10 +3,10 @@ $:.unshift File.expand_path("../lib", File.dirname(__FILE__))
|
|
|
3
3
|
require "simplecov"
|
|
4
4
|
require "coveralls"
|
|
5
5
|
|
|
6
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
6
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
|
7
7
|
SimpleCov::Formatter::HTMLFormatter,
|
|
8
8
|
Coveralls::SimpleCov::Formatter
|
|
9
|
-
]
|
|
9
|
+
])
|
|
10
10
|
SimpleCov.start
|
|
11
11
|
|
|
12
12
|
require "lob"
|
|
@@ -14,4 +14,4 @@ require "minitest/spec"
|
|
|
14
14
|
require "minitest/pride"
|
|
15
15
|
require "minitest/autorun"
|
|
16
16
|
|
|
17
|
-
API_KEY = '
|
|
17
|
+
API_KEY = ENV['API_KEY']
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lob
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lob
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rest-client
|
|
@@ -16,7 +16,7 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 2.0.1
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
22
|
version: '3.0'
|
|
@@ -26,38 +26,24 @@ dependencies:
|
|
|
26
26
|
requirements:
|
|
27
27
|
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
29
|
+
version: 2.0.1
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
32
|
version: '3.0'
|
|
33
|
-
- !ruby/object:Gem::Dependency
|
|
34
|
-
name: bundler
|
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.3'
|
|
40
|
-
type: :development
|
|
41
|
-
prerelease: false
|
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
-
requirements:
|
|
44
|
-
- - "~>"
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '1.3'
|
|
47
33
|
- !ruby/object:Gem::Dependency
|
|
48
34
|
name: rake
|
|
49
35
|
requirement: !ruby/object:Gem::Requirement
|
|
50
36
|
requirements:
|
|
51
37
|
- - "~>"
|
|
52
38
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
39
|
+
version: 12.3.3
|
|
54
40
|
type: :development
|
|
55
41
|
prerelease: false
|
|
56
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
43
|
requirements:
|
|
58
44
|
- - "~>"
|
|
59
45
|
- !ruby/object:Gem::Version
|
|
60
|
-
version:
|
|
46
|
+
version: 12.3.3
|
|
61
47
|
- !ruby/object:Gem::Dependency
|
|
62
48
|
name: minitest
|
|
63
49
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,62 +72,34 @@ dependencies:
|
|
|
86
72
|
- - "~>"
|
|
87
73
|
- !ruby/object:Gem::Version
|
|
88
74
|
version: '1.2'
|
|
89
|
-
- !ruby/object:Gem::Dependency
|
|
90
|
-
name: travis-lint
|
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - "~>"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: 2.0.0
|
|
96
|
-
type: :development
|
|
97
|
-
prerelease: false
|
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - "~>"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: 2.0.0
|
|
103
75
|
- !ruby/object:Gem::Dependency
|
|
104
76
|
name: coveralls
|
|
105
77
|
requirement: !ruby/object:Gem::Requirement
|
|
106
78
|
requirements:
|
|
107
79
|
- - "~>"
|
|
108
80
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 0.8.
|
|
81
|
+
version: 0.8.13
|
|
110
82
|
type: :development
|
|
111
83
|
prerelease: false
|
|
112
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
85
|
requirements:
|
|
114
86
|
- - "~>"
|
|
115
87
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: 0.8.
|
|
88
|
+
version: 0.8.13
|
|
117
89
|
- !ruby/object:Gem::Dependency
|
|
118
90
|
name: simplecov
|
|
119
91
|
requirement: !ruby/object:Gem::Requirement
|
|
120
92
|
requirements:
|
|
121
93
|
- - "~>"
|
|
122
94
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: 0.
|
|
124
|
-
type: :development
|
|
125
|
-
prerelease: false
|
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: 0.10.0
|
|
131
|
-
- !ruby/object:Gem::Dependency
|
|
132
|
-
name: pry
|
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: 0.10.0
|
|
95
|
+
version: 0.11.0
|
|
138
96
|
type: :development
|
|
139
97
|
prerelease: false
|
|
140
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
141
99
|
requirements:
|
|
142
100
|
- - "~>"
|
|
143
101
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: 0.
|
|
102
|
+
version: 0.11.0
|
|
145
103
|
description: Lob API Ruby wrapper
|
|
146
104
|
email:
|
|
147
105
|
- support@lob.com
|
|
@@ -172,19 +130,21 @@ files:
|
|
|
172
130
|
- examples/csv_verify/verify.rb
|
|
173
131
|
- examples/letters.rb
|
|
174
132
|
- examples/postcards.rb
|
|
133
|
+
- examples/self_mailers.rb
|
|
175
134
|
- lib/lob.rb
|
|
176
135
|
- lib/lob/client.rb
|
|
177
136
|
- lib/lob/errors/invalid_request_error.rb
|
|
178
137
|
- lib/lob/errors/lob_error.rb
|
|
179
138
|
- lib/lob/resources/address.rb
|
|
180
|
-
- lib/lob/resources/area.rb
|
|
181
139
|
- lib/lob/resources/bank_account.rb
|
|
182
140
|
- lib/lob/resources/check.rb
|
|
141
|
+
- lib/lob/resources/group.rb
|
|
142
|
+
- lib/lob/resources/groups_member.rb
|
|
183
143
|
- lib/lob/resources/intl_verifications.rb
|
|
184
144
|
- lib/lob/resources/letter.rb
|
|
185
145
|
- lib/lob/resources/postcard.rb
|
|
186
146
|
- lib/lob/resources/resource_base.rb
|
|
187
|
-
- lib/lob/resources/
|
|
147
|
+
- lib/lob/resources/self_mailer.rb
|
|
188
148
|
- lib/lob/resources/us_autocompletions.rb
|
|
189
149
|
- lib/lob/resources/us_verifications.rb
|
|
190
150
|
- lib/lob/resources/us_zip_lookups.rb
|
|
@@ -192,14 +152,15 @@ files:
|
|
|
192
152
|
- lob.gemspec
|
|
193
153
|
- spec/lob/errors/lob_error_spec.rb
|
|
194
154
|
- spec/lob/resources/address_spec.rb
|
|
195
|
-
- spec/lob/resources/area_spec.rb
|
|
196
155
|
- spec/lob/resources/bank_account_spec.rb
|
|
197
156
|
- spec/lob/resources/check_spec.rb
|
|
157
|
+
- spec/lob/resources/group_spec.rb
|
|
198
158
|
- spec/lob/resources/intl_verifications_spec.rb
|
|
199
159
|
- spec/lob/resources/letter_spec.rb
|
|
160
|
+
- spec/lob/resources/member_spec.rb
|
|
200
161
|
- spec/lob/resources/postcard_spec.rb
|
|
201
162
|
- spec/lob/resources/resource_base_spec.rb
|
|
202
|
-
- spec/lob/resources/
|
|
163
|
+
- spec/lob/resources/self_mailer_spec.rb
|
|
203
164
|
- spec/lob/resources/us_autocompletions_spec.rb
|
|
204
165
|
- spec/lob/resources/us_verifications_spec.rb
|
|
205
166
|
- spec/lob/resources/us_zip_lookups_spec.rb
|
|
@@ -207,6 +168,10 @@ files:
|
|
|
207
168
|
- spec/samples/8.5x11.pdf
|
|
208
169
|
- spec/samples/postcardback.pdf
|
|
209
170
|
- spec/samples/postcardfront.pdf
|
|
171
|
+
- spec/samples/sfm-12x9-inside.pdf
|
|
172
|
+
- spec/samples/sfm-12x9-outside.pdf
|
|
173
|
+
- spec/samples/sfm-6x18-inside.pdf
|
|
174
|
+
- spec/samples/sfm-6x18-outside.pdf
|
|
210
175
|
- spec/spec_helper.rb
|
|
211
176
|
homepage: https://github.com/lob/lob-ruby
|
|
212
177
|
licenses:
|
|
@@ -227,22 +192,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
227
192
|
- !ruby/object:Gem::Version
|
|
228
193
|
version: '0'
|
|
229
194
|
requirements: []
|
|
230
|
-
|
|
231
|
-
rubygems_version: 2.7.7
|
|
195
|
+
rubygems_version: 3.0.3
|
|
232
196
|
signing_key:
|
|
233
197
|
specification_version: 4
|
|
234
198
|
summary: Ruby wrapper for Lob.com API with ActiveRecord-style syntax
|
|
235
199
|
test_files:
|
|
236
200
|
- spec/lob/errors/lob_error_spec.rb
|
|
237
201
|
- spec/lob/resources/address_spec.rb
|
|
238
|
-
- spec/lob/resources/area_spec.rb
|
|
239
202
|
- spec/lob/resources/bank_account_spec.rb
|
|
240
203
|
- spec/lob/resources/check_spec.rb
|
|
204
|
+
- spec/lob/resources/group_spec.rb
|
|
241
205
|
- spec/lob/resources/intl_verifications_spec.rb
|
|
242
206
|
- spec/lob/resources/letter_spec.rb
|
|
207
|
+
- spec/lob/resources/member_spec.rb
|
|
243
208
|
- spec/lob/resources/postcard_spec.rb
|
|
244
209
|
- spec/lob/resources/resource_base_spec.rb
|
|
245
|
-
- spec/lob/resources/
|
|
210
|
+
- spec/lob/resources/self_mailer_spec.rb
|
|
246
211
|
- spec/lob/resources/us_autocompletions_spec.rb
|
|
247
212
|
- spec/lob/resources/us_verifications_spec.rb
|
|
248
213
|
- spec/lob/resources/us_zip_lookups_spec.rb
|
|
@@ -250,4 +215,8 @@ test_files:
|
|
|
250
215
|
- spec/samples/8.5x11.pdf
|
|
251
216
|
- spec/samples/postcardback.pdf
|
|
252
217
|
- spec/samples/postcardfront.pdf
|
|
218
|
+
- spec/samples/sfm-12x9-inside.pdf
|
|
219
|
+
- spec/samples/sfm-12x9-outside.pdf
|
|
220
|
+
- spec/samples/sfm-6x18-inside.pdf
|
|
221
|
+
- spec/samples/sfm-6x18-outside.pdf
|
|
253
222
|
- spec/spec_helper.rb
|
data/lib/lob/resources/route.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
require "lob/resources/resource_base"
|
|
2
|
-
|
|
3
|
-
module Lob
|
|
4
|
-
module Resources
|
|
5
|
-
class Route < Lob::Resources::ResourceBase
|
|
6
|
-
|
|
7
|
-
undef_method :create, :destroy
|
|
8
|
-
|
|
9
|
-
def initialize(config)
|
|
10
|
-
super(config)
|
|
11
|
-
@endpoint = "routes"
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def list(options = {})
|
|
15
|
-
if options.is_a?(String)
|
|
16
|
-
request = {
|
|
17
|
-
method: :get,
|
|
18
|
-
url: resource_url(options)
|
|
19
|
-
}
|
|
20
|
-
else
|
|
21
|
-
request = {
|
|
22
|
-
method: :get,
|
|
23
|
-
url: endpoint_url,
|
|
24
|
-
query: options
|
|
25
|
-
}
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
submit request
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe Lob::Resources::Area do
|
|
4
|
-
before :each do
|
|
5
|
-
@sample_area_params = {
|
|
6
|
-
description: "Test Area",
|
|
7
|
-
front: "https://s3-us-west-2.amazonaws.com/lob-assets/areafront.pdf",
|
|
8
|
-
back: "https://s3-us-west-2.amazonaws.com/lob-assets/areaback.pdf",
|
|
9
|
-
routes: ["94158-C001", "94107-C031"],
|
|
10
|
-
}
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
|
14
|
-
|
|
15
|
-
describe "list" do
|
|
16
|
-
it "should list areas" do
|
|
17
|
-
assert subject.areas.list["object"] == "list"
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe "create" do
|
|
22
|
-
it "should create an area object" do
|
|
23
|
-
result = subject.areas.create @sample_area_params
|
|
24
|
-
|
|
25
|
-
result["object"].must_equal("area")
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should create an area object with optionals params" do
|
|
29
|
-
@sample_area_params[:target_type] = "all"
|
|
30
|
-
|
|
31
|
-
result = subject.areas.create @sample_area_params
|
|
32
|
-
|
|
33
|
-
result["description"].must_equal @sample_area_params[:description]
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "should create an area object with a single route" do
|
|
37
|
-
@sample_area_params[:routes] = "94158-C001"
|
|
38
|
-
result = subject.areas.create @sample_area_params
|
|
39
|
-
|
|
40
|
-
result["object"].must_equal("area")
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
it "should create an area object with zip_codes" do
|
|
44
|
-
@sample_area_params[:routes] = ["94158"];
|
|
45
|
-
result = subject.areas.create @sample_area_params
|
|
46
|
-
|
|
47
|
-
result["object"].must_equal("area")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
describe "find" do
|
|
52
|
-
it "should find an area" do
|
|
53
|
-
new_area = subject.areas.create @sample_area_params
|
|
54
|
-
|
|
55
|
-
result = subject.areas.find new_area["id"]
|
|
56
|
-
result["object"].must_equal("area")
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe Lob::Resources::Route do
|
|
4
|
-
|
|
5
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
|
6
|
-
|
|
7
|
-
describe "find" do
|
|
8
|
-
|
|
9
|
-
it "should fetch a route" do
|
|
10
|
-
zip_code = "94158"
|
|
11
|
-
routes = subject.routes.find(zip_code)
|
|
12
|
-
routes["zip_code"].must_equal(zip_code)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe "list" do
|
|
18
|
-
|
|
19
|
-
it "should list routes" do
|
|
20
|
-
zip_code = "94158"
|
|
21
|
-
routes = subject.routes.list(zip_codes: zip_code)
|
|
22
|
-
routes["data"][0]["zip_code"].must_equal(zip_code)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "should accept a single ZIP code as input" do
|
|
26
|
-
zip_code = "94158"
|
|
27
|
-
routes = subject.routes.list(zip_code)
|
|
28
|
-
routes["zip_code"].must_equal(zip_code)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "should list routes given multiple zip codes" do
|
|
32
|
-
zip_codes = ["94107", "94158"]
|
|
33
|
-
routes = subject.routes.list(zip_codes: zip_codes)
|
|
34
|
-
routes["data"][0]["zip_code"].must_equal(zip_codes[0])
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
end
|