lob 4.3.0 → 5.4.6

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/forked_tests_job.yml +36 -0
  3. data/.github/workflows/run_tests_job.yml +32 -0
  4. data/.github/workflows/update_gem.yml +27 -0
  5. data/.gitignore +1 -0
  6. data/CHANGELOG.md +47 -0
  7. data/README.md +16 -85
  8. data/examples/README.md +95 -9
  9. data/examples/cards.rb +51 -0
  10. data/examples/checks.rb +4 -3
  11. data/examples/csv_checks/create_checks.rb +3 -2
  12. data/examples/csv_letters/create_letters.rb +3 -2
  13. data/examples/csv_letters/letter_template.html +1 -1
  14. data/examples/csv_postcards/create_postcards.rb +3 -2
  15. data/examples/csv_postcards/input.csv +7 -7
  16. data/examples/csv_postcards/postcard_back.html +1 -1
  17. data/examples/csv_verify/verify.rb +3 -2
  18. data/examples/letters.rb +4 -3
  19. data/examples/list_postcards_metadata.rb +94 -0
  20. data/examples/postcards.rb +6 -5
  21. data/examples/postcards_idempotent.rb +92 -0
  22. data/examples/postcards_intl.rb +87 -0
  23. data/examples/postcards_remote.rb +87 -0
  24. data/examples/postcards_send_date.rb +97 -0
  25. data/examples/postcards_template.rb +98 -0
  26. data/examples/self_mailers.rb +38 -0
  27. data/lib/lob/client.rb +33 -8
  28. data/lib/lob/resources/bulk_intl_verifications.rb +27 -0
  29. data/lib/lob/resources/bulk_us_verifications.rb +28 -0
  30. data/lib/lob/resources/card.rb +46 -0
  31. data/lib/lob/resources/{area.rb → group.rb} +2 -4
  32. data/lib/lob/resources/groups_member.rb +66 -0
  33. data/lib/lob/resources/resource_base.rb +20 -9
  34. data/lib/lob/resources/self_mailer.rb +14 -0
  35. data/lib/lob/resources/us_reverse_geocode_lookups.rb +26 -0
  36. data/lib/lob/version.rb +1 -1
  37. data/lob.gemspec +7 -7
  38. data/spec/lob/resources/bulk_intl_verifications_spec.rb +39 -0
  39. data/spec/lob/resources/bulk_us_verifications_spec.rb +51 -0
  40. data/spec/lob/resources/card_spec.rb +145 -0
  41. data/spec/lob/resources/check_spec.rb +21 -0
  42. data/spec/lob/resources/group_spec.rb +50 -0
  43. data/spec/lob/resources/intl_verifications_spec.rb +4 -7
  44. data/spec/lob/resources/letter_spec.rb +24 -4
  45. data/spec/lob/resources/member_spec.rb +65 -0
  46. data/spec/lob/resources/postcard_spec.rb +30 -5
  47. data/spec/lob/resources/resource_base_spec.rb +4 -16
  48. data/spec/lob/resources/self_mailer_spec.rb +177 -0
  49. data/spec/lob/resources/us_reverse_geocode_lookups_spec.rb +22 -0
  50. data/spec/samples/card.pdf +744 -0
  51. data/spec/samples/sfm-12x9-inside.pdf +0 -0
  52. data/spec/samples/sfm-12x9-outside.pdf +0 -0
  53. data/spec/samples/sfm-6x18-inside.pdf +0 -0
  54. data/spec/samples/sfm-6x18-outside.pdf +0 -0
  55. data/spec/spec_helper.rb +7 -5
  56. metadata +73 -39
  57. data/.travis.yml +0 -19
  58. data/lib/lob/resources/route.rb +0 -33
  59. data/spec/lob/resources/area_spec.rb +0 -59
  60. 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,12 @@ $:.unshift File.expand_path("../lib", File.dirname(__FILE__))
3
3
  require "simplecov"
4
4
  require "coveralls"
5
5
 
6
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
- SimpleCov::Formatter::HTMLFormatter,
8
- Coveralls::SimpleCov::Formatter
9
- ]
6
+ require 'simplecov-lcov'
7
+
8
+ SimpleCov::Formatter::LcovFormatter.config.report_with_single_file = true
9
+ SimpleCov::Formatter::LcovFormatter.config.lcov_file_name = 'lcov.info'
10
+
11
+ SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
10
12
  SimpleCov.start
11
13
 
12
14
  require "lob"
@@ -14,4 +16,4 @@ require "minitest/spec"
14
16
  require "minitest/pride"
15
17
  require "minitest/autorun"
16
18
 
17
- API_KEY = 'test_799ff27291c166d10ba191902ad02fb059c'
19
+ 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.3.0
4
+ version: 5.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-21 00:00:00.000000000 Z
11
+ date: 2022-01-25 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: '1.8'
19
+ version: 2.0.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3.0'
@@ -26,122 +26,122 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '1.8'
29
+ version: 2.0.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: bundler
34
+ name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.3'
39
+ version: 12.3.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
- version: '1.3'
46
+ version: 12.3.3
47
47
  - !ruby/object:Gem::Dependency
48
- name: rake
48
+ name: minitest
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 10.4.2
53
+ version: 5.6.1
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
- version: 10.4.2
60
+ version: 5.6.1
61
61
  - !ruby/object:Gem::Dependency
62
- name: minitest
62
+ name: webmock
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 5.6.1
67
+ version: '1.2'
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
- version: 5.6.1
74
+ version: '1.2'
75
75
  - !ruby/object:Gem::Dependency
76
- name: webmock
76
+ name: simplecov-lcov
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '1.2'
81
+ version: '0'
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
- version: '1.2'
88
+ version: '0'
89
89
  - !ruby/object:Gem::Dependency
90
- name: travis-lint
90
+ name: coveralls_reborn
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 2.0.0
95
+ version: 0.23.1
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
- version: 2.0.0
102
+ version: 0.23.1
103
103
  - !ruby/object:Gem::Dependency
104
- name: coveralls
104
+ name: simplecov
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 0.8.1
109
+ version: 0.21.0
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
- version: 0.8.1
116
+ version: 0.21.0
117
117
  - !ruby/object:Gem::Dependency
118
- name: simplecov
118
+ name: json
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: 0.10.0
123
+ version: 2.3.1
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
- version: 0.10.0
130
+ version: 2.3.1
131
131
  - !ruby/object:Gem::Dependency
132
- name: pry
132
+ name: uri
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: 0.10.0
137
+ version: 0.10.1
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
- version: 0.10.0
144
+ version: 0.10.1
145
145
  description: Lob API Ruby wrapper
146
146
  email:
147
147
  - support@lob.com
@@ -149,8 +149,10 @@ executables: []
149
149
  extensions: []
150
150
  extra_rdoc_files: []
151
151
  files:
152
+ - ".github/workflows/forked_tests_job.yml"
153
+ - ".github/workflows/run_tests_job.yml"
154
+ - ".github/workflows/update_gem.yml"
152
155
  - ".gitignore"
153
- - ".travis.yml"
154
156
  - CHANGELOG.md
155
157
  - CONTRIBUTING.md
156
158
  - Gemfile
@@ -158,6 +160,7 @@ files:
158
160
  - README.md
159
161
  - Rakefile
160
162
  - examples/README.md
163
+ - examples/cards.rb
161
164
  - examples/checks.rb
162
165
  - examples/csv_checks/create_checks.rb
163
166
  - examples/csv_checks/input.csv
@@ -171,42 +174,64 @@ files:
171
174
  - examples/csv_verify/input.csv
172
175
  - examples/csv_verify/verify.rb
173
176
  - examples/letters.rb
177
+ - examples/list_postcards_metadata.rb
174
178
  - examples/postcards.rb
179
+ - examples/postcards_idempotent.rb
180
+ - examples/postcards_intl.rb
181
+ - examples/postcards_remote.rb
182
+ - examples/postcards_send_date.rb
183
+ - examples/postcards_template.rb
184
+ - examples/self_mailers.rb
175
185
  - lib/lob.rb
176
186
  - lib/lob/client.rb
177
187
  - lib/lob/errors/invalid_request_error.rb
178
188
  - lib/lob/errors/lob_error.rb
179
189
  - lib/lob/resources/address.rb
180
- - lib/lob/resources/area.rb
181
190
  - lib/lob/resources/bank_account.rb
191
+ - lib/lob/resources/bulk_intl_verifications.rb
192
+ - lib/lob/resources/bulk_us_verifications.rb
193
+ - lib/lob/resources/card.rb
182
194
  - lib/lob/resources/check.rb
195
+ - lib/lob/resources/group.rb
196
+ - lib/lob/resources/groups_member.rb
183
197
  - lib/lob/resources/intl_verifications.rb
184
198
  - lib/lob/resources/letter.rb
185
199
  - lib/lob/resources/postcard.rb
186
200
  - lib/lob/resources/resource_base.rb
187
- - lib/lob/resources/route.rb
201
+ - lib/lob/resources/self_mailer.rb
188
202
  - lib/lob/resources/us_autocompletions.rb
203
+ - lib/lob/resources/us_reverse_geocode_lookups.rb
189
204
  - lib/lob/resources/us_verifications.rb
190
205
  - lib/lob/resources/us_zip_lookups.rb
191
206
  - lib/lob/version.rb
192
207
  - lob.gemspec
193
208
  - spec/lob/errors/lob_error_spec.rb
194
209
  - spec/lob/resources/address_spec.rb
195
- - spec/lob/resources/area_spec.rb
196
210
  - spec/lob/resources/bank_account_spec.rb
211
+ - spec/lob/resources/bulk_intl_verifications_spec.rb
212
+ - spec/lob/resources/bulk_us_verifications_spec.rb
213
+ - spec/lob/resources/card_spec.rb
197
214
  - spec/lob/resources/check_spec.rb
215
+ - spec/lob/resources/group_spec.rb
198
216
  - spec/lob/resources/intl_verifications_spec.rb
199
217
  - spec/lob/resources/letter_spec.rb
218
+ - spec/lob/resources/member_spec.rb
200
219
  - spec/lob/resources/postcard_spec.rb
201
220
  - spec/lob/resources/resource_base_spec.rb
202
- - spec/lob/resources/route_spec.rb
221
+ - spec/lob/resources/self_mailer_spec.rb
203
222
  - spec/lob/resources/us_autocompletions_spec.rb
223
+ - spec/lob/resources/us_reverse_geocode_lookups_spec.rb
204
224
  - spec/lob/resources/us_verifications_spec.rb
205
225
  - spec/lob/resources/us_zip_lookups_spec.rb
206
226
  - spec/lob_spec.rb
207
227
  - spec/samples/8.5x11.pdf
228
+ - spec/samples/card.pdf
208
229
  - spec/samples/postcardback.pdf
209
230
  - spec/samples/postcardfront.pdf
231
+ - spec/samples/sfm-12x9-inside.pdf
232
+ - spec/samples/sfm-12x9-outside.pdf
233
+ - spec/samples/sfm-6x18-inside.pdf
234
+ - spec/samples/sfm-6x18-outside.pdf
210
235
  - spec/spec_helper.rb
211
236
  homepage: https://github.com/lob/lob-ruby
212
237
  licenses:
@@ -227,27 +252,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
252
  - !ruby/object:Gem::Version
228
253
  version: '0'
229
254
  requirements: []
230
- rubyforge_project:
231
- rubygems_version: 2.7.7
255
+ rubygems_version: 3.1.6
232
256
  signing_key:
233
257
  specification_version: 4
234
258
  summary: Ruby wrapper for Lob.com API with ActiveRecord-style syntax
235
259
  test_files:
236
260
  - spec/lob/errors/lob_error_spec.rb
237
261
  - spec/lob/resources/address_spec.rb
238
- - spec/lob/resources/area_spec.rb
239
262
  - spec/lob/resources/bank_account_spec.rb
263
+ - spec/lob/resources/bulk_intl_verifications_spec.rb
264
+ - spec/lob/resources/bulk_us_verifications_spec.rb
265
+ - spec/lob/resources/card_spec.rb
240
266
  - spec/lob/resources/check_spec.rb
267
+ - spec/lob/resources/group_spec.rb
241
268
  - spec/lob/resources/intl_verifications_spec.rb
242
269
  - spec/lob/resources/letter_spec.rb
270
+ - spec/lob/resources/member_spec.rb
243
271
  - spec/lob/resources/postcard_spec.rb
244
272
  - spec/lob/resources/resource_base_spec.rb
245
- - spec/lob/resources/route_spec.rb
273
+ - spec/lob/resources/self_mailer_spec.rb
246
274
  - spec/lob/resources/us_autocompletions_spec.rb
275
+ - spec/lob/resources/us_reverse_geocode_lookups_spec.rb
247
276
  - spec/lob/resources/us_verifications_spec.rb
248
277
  - spec/lob/resources/us_zip_lookups_spec.rb
249
278
  - spec/lob_spec.rb
250
279
  - spec/samples/8.5x11.pdf
280
+ - spec/samples/card.pdf
251
281
  - spec/samples/postcardback.pdf
252
282
  - spec/samples/postcardfront.pdf
283
+ - spec/samples/sfm-12x9-inside.pdf
284
+ - spec/samples/sfm-12x9-outside.pdf
285
+ - spec/samples/sfm-6x18-inside.pdf
286
+ - spec/samples/sfm-6x18-outside.pdf
253
287
  - spec/spec_helper.rb
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: ruby
2
-
3
- sudo: false
4
-
5
- rvm:
6
- - jruby-9.0.5.0
7
- - jruby-9.1.9.0
8
- - 2.1
9
- - 2.2
10
- - 2.3
11
- - 2.4
12
-
13
- env:
14
- JRUBY_OPTS=--2.0
15
-
16
- before_install:
17
- - gem install bundler
18
-
19
- script: bundle exec rake test
@@ -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