lob 1.9.2 → 1.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cdc58b192a30897179b9f0b8b2229115e3e26b94
4
- data.tar.gz: ce6dbe15de20924629d3390ebbcb388c51f6001a
3
+ metadata.gz: 041bd3b823b10d752fabc4401a2fc20b304101b5
4
+ data.tar.gz: 47ab28cfd82b796c50bd7f70df075a71a4836dee
5
5
  SHA512:
6
- metadata.gz: 86a27b72507cf64f2eca79f6d75708304108ddda1b0601138111fa7c058ec6829e44c2255c656bd354d5579f9298cacaaa9243056b9165d26333c90b528412c3
7
- data.tar.gz: ccec81496d6cf6204274d0b58e6f0c6054d8b9135447eaf2620ff6e44ba4fa3a1fddd8857291a83468ad271cd038eea1f6a70ba2da71cf606088cd3af89e0898
6
+ metadata.gz: 166e26c4d59ef45e94f7d804f97bb55ecaf892afe3a258d2d3f171ec7a20ec32112bc76673da35926e3bdaebd215b482906bb99689e5292dea58095c36800d28
7
+ data.tar.gz: 4f4385149c826ca82dd1fcaa3687c90fceaa978b13a1b1401c1044221cf7afee7783ccbdd5a6db24266041cdd111ef7f010362f7a762e5e016e851ba270b70e0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## [**1.10.0**](https://github.com/lob/lob-ruby/releases/tag/v1.10.0)
2
+ - [**#100**] (https://github.com/lob/lob-ruby/pull/100) adds support for Simple Letter Service
3
+
1
4
  ## [**1.9.2**](https://github.com/lob/lob-ruby/releases/tag/v1.9.2)
2
5
  - [**#94**] (https://github.com/lob/lob-ruby/pull/94) added bank account verify support
3
6
 
data/README.md CHANGED
@@ -4,22 +4,39 @@
4
4
 
5
5
  [![Build Status](https://travis-ci.org/lob/lob-ruby.svg?branch=master)](https://travis-ci.org/lob/lob-ruby) [![Gem Version](https://badge.fury.io/rb/lob.svg)](http://badge.fury.io/rb/lob) [![Dependency Status](https://gemnasium.com/lob/lob-ruby.svg)](https://gemnasium.com/lob/lob-ruby) [![Coverage Status](https://coveralls.io/repos/lob/lob-ruby/badge.svg?branch=master)](https://coveralls.io/r/lob/lob-ruby?branch=master) [![Downloads](http://ruby-gem-downloads-badge.herokuapp.com/lob?color=green&type=total)](https://rubygems.org/gems/lob)
6
6
 
7
- Ruby wrapper for the [Lob.com](http://lob.com) API. This gem gives you an ActiveRecord-style syntax to use the Lob.com API.
7
+ Ruby wrapper for the [Lob.com](http://lob.com) API. See the full Lob.com [API Documentation](https://lob.com/docs/ruby). This gem gives you an ActiveRecord-style syntax to use the Lob.com API.
8
8
 
9
9
  Supports Ruby 1.9.3 and greater.
10
10
 
11
11
  ## Table of Contents
12
12
 
13
- - [Installation](#installation)
14
- - [Usage](#usage)
15
- - [Supported Image Types](#supported-image-types)
16
- - [Initialization and Configuration](#initialization-and-configuration)
17
- - [API Reference](#api-reference)
18
- - [Developing](#developing)
19
- - [Testing](#testing)
13
+ - [Getting Started](#getting-started)
14
+ - [Registration](#registration)
15
+ - [Installation](#installation)
16
+ - [Usage](#usage)
17
+ - [Examples](#examples)
18
+ - [API Documentation](#api-documentation)
20
19
  - [Contributing](#contributing)
20
+ - [Testing](#testing)
21
+
22
+ ## Getting Started
23
+
24
+ Here's a general overview of the Lob services available, click through to read more.
25
+
26
+ - [Simple Postcard Service](https://lob.com/services/postcards)
27
+ - [Simple Letter Service](https://lob.com/services/letters)
28
+ - [Simple Check Service](https://lob.com/services/checks)
29
+ - [Simple Print Service](https://lob.com/services/sps)
30
+ - [Simple Area Mail](https://lob.com/services/sam)
31
+ - [Address Verification](https://lob.com/verification/address)
32
+
33
+ ### Registration
21
34
 
22
- ## Installation
35
+ First, you will need to first create an account at [Lob.com](https://dashboard.lob.com/#/register) and obtain your Test and Live API Keys.
36
+
37
+ Once you have created an account, you can access your API Keys from the [Settings Panel](https://dashboard.lob.com/#/settings).
38
+
39
+ ### Installation
23
40
 
24
41
  Add this line to your application's `Gemfile`:
25
42
 
@@ -33,40 +50,13 @@ Or manually install it yourself:
33
50
 
34
51
  $ gem install lob
35
52
 
36
- ## Usage
53
+ ### Usage
37
54
 
38
55
  The library uses an ActiveRecord-style interface. You'll feel right at home.
39
- You'll need a Lob.com API key. It's free and you can get yours [here](https://dashboard.lob.com/settings).
40
56
 
41
57
  For optional parameters and other details, refer to the docs [here](https://lob.com/docs/ruby).
42
58
 
43
- #### Caution: Pass zero-prefixed zip codes as strings
44
-
45
- When using zip codes with zero-prefixes, always quote them. For example when specifying `02125`, pass it as a string `"02125"`, instead of an integer.
46
-
47
- The Ruby interpreter assumes it's not of base-10 and tries to convert it to base-10 number. So that might result in an entirely different zip-code than intended.
48
-
49
- ## Supported Image Types
50
-
51
- The Lob.com API supports the following image types:
52
-
53
- - PDF
54
- - PNG
55
- - JPEG
56
-
57
- For more information on prepping images please see the [Lob documentation](https://lob.com/docs/ruby#prepping).
58
-
59
- #### Creating a PDF
60
-
61
- If you need to generate your own PDF programmatically we recommend using [prawn](https://github.com/prawnpdf/prawn). There is an example provided in the examples folder [here](examples/create_pdf.rb).
62
-
63
- ## HTML Support
64
-
65
- The Lob.com API also supports HTML strings in leiu of a file of the above type. See below for examples of submitting with HTML strings.
66
-
67
- For templates and more information regarding HTML, please see the [Lob documentation](https://lob.com/docs/ruby#html-fonts).
68
-
69
- ## Initialization and Configuration
59
+ #### Initialization and Configuration
70
60
 
71
61
  ```ruby
72
62
  # To initialize a Lob object
@@ -86,555 +76,84 @@ Lob.configure do |config|
86
76
  end
87
77
  ```
88
78
 
89
- ## API Reference
90
-
91
- - [Simple Print Service](#simple-print-service)
92
- - [lob.jobs](#lobjobs)
93
- - [lob.jobs.create](#lobjobscreate)
94
- - [lob.jobs.list](#lobjobslist)
95
- - [lob.jobs.find](#lobjobsfind)
96
- - [lob.addresses](#lobaddresses)
97
- - [lob.addresses.create](#lobaddressescreate)
98
- - [lob.addresses.list](#lobaddresseslist)
99
- - [lob.addresses.find](#lobaddressesfind)
100
- - [lob.addresses.destroy](#lobaddressesdestroy)
101
- - [lob.addresses.verify](#lobaddressesverify)
102
- - [lob.objects](#lobobjects)
103
- - [lob.objects.create](#lobobjectscreate)
104
- - [lob.objects.list](#lobobjectslist)
105
- - [lob.objects.find](#lobobjectsfind)
106
- - [lob.objects.destroy](#lobobjectsdestroy)
107
- - [lob.settings](#lobsettings)
108
- - [lob.settings.list](#lobsettingslist)
109
- - [lob.settings.find](#lobsettingsfind)
110
- - [lob.services](#lobservices)
111
- - [lob.services.list](#lobserviceslist)
112
- - [Simple Postcard Service](#simple-postcard-service)
113
- - [lob.postcards](#lobpostcards)
114
- - [lob.postcards.create](#lobpostcardscreate)
115
- - [lob.postcards.list](#lobpostcardslist)
116
- - [lob.postcards.find](#lobpostcardsfind)
117
- - [Simple Check Service](#simple-check-service)
118
- - [lob.checks](#lobchecks)
119
- - [lob.checks.create](#lobcheckscreate)
120
- - [lob.checks.list](#lobcheckslist)
121
- - [lob.checks.find](#lobchecksfind)
122
- - [lob.bank_accounts](#lobbank_accounts)
123
- - [lob.bank_accounts.create](#lobbank_accountscreate)
124
- - [lob.bank_accounts.list](#lobbank_accountslist)
125
- - [lob.bank_accounts.find](#lobbank_accountsfind)
126
- - [Simple Area Mail](#simple-area-mail)
127
- - [lob.areas](#lobareas)
128
- - [lob.areas.create](#lobareascreate)
129
- - [lob.areas.list](#lobareaslist)
130
- - [lob.areas.find](#lobareasfind)
131
- - [lob.routes](#lobroutes)
132
- - [lob.routes.find](#lobroutesfind)
133
- - [Resources](#lobresources)
134
- - [lob.countries](#lobcountries)
135
- - [lob.countries.list](#lobcountrieslist)
136
- - [lob.states](#lobstates)
137
- - [lob.states.list](#lobstateslist)
138
-
139
- ## Simple Print Service
140
-
141
- ### lob.jobs
142
-
143
- #### lob.jobs.create
144
-
145
- ```ruby
146
-
147
- # Below is an example with inline addresses and object creation
148
-
149
- @lob.jobs.create(
150
- name: "Inline Test Job",
151
- from: {
152
- name: "Test Address",
153
- email: "test@test.com",
154
- address_line1: "123 Test Street",
155
- address_line2: "Unit 199",
156
- city: "Mountain View",
157
- state: "CA",
158
- country: "US",
159
- zip: 94085
160
- },
161
- to: {
162
- name: "TestAddress",
163
- email: "test@test.com",
164
- address_line1: "123 Test Street",
165
- address_line2: "Unit 199",
166
- city: "Mountain View",
167
- state: "CA",
168
- country: "US",
169
- zip: 94085
170
- },
171
- objects: {
172
- name: "Local File Object",
173
- file: File.new("/path/to/file.pdf"),
174
- setting: 100
175
- })
176
-
177
-
178
- # name, to-address and object are the arguments
179
- # to-address can be specified as an address-id
180
- @lob.jobs.create(
181
- name: "New Cool Posters",
182
- from: "from-address-id",
183
- to: "to-address-id",
184
- objects: "object-id"
185
- )
186
-
187
- # mixing inline objects with ids
188
- @lob.jobs.create(
189
- name: "New Cool Posters",
190
- from: {
191
- name: "FromAddress",
192
- address_line1: "120, 6th Ave",
193
- city: "Boston",
194
- state: "MA",
195
- country: "US",
196
- zip: 12345
197
- },
198
- to: "to-address-id",
199
- objects: "object-id"
200
- )
201
-
202
- # You can also pass new object params for the object
203
- # and other options like setting
204
- @lob.jobs.create(
205
- name: "New Cool Posters",
206
- from: "from-address-id",
207
- to: "to-address-id",
208
- objects: "object-id",
209
- {
210
- name: "Your fantistic object",
211
- file: "http://test.com/file.pdf",
212
- setting: "some-setting"
213
- }
214
- )
215
-
216
- # Multi Object Jobs (include more than 1 file)
217
-
218
- @lob.jobs.create(
219
- name: "New Cool Posters",
220
- from: "from-address-id",
221
- to: {
222
- name: "ToAddress",
223
- address_line1: "120, 6th Ave",
224
- city: "Boston",
225
- state: "MA",
226
- country: "US",
227
- zip: 12345
228
- },
229
- objects: ["object-id", "another-object-id"]
230
- )
231
-
232
-
233
-
234
- ```
235
-
236
- #### lob.jobs.list
237
-
238
- ```ruby
239
- # returns an array of jobs
240
- @lob.jobs.list
241
-
242
- #you can also pass count and offset
243
- @lob.jobs.list(count: 10, offset: 3)
244
- ```
245
-
246
- #### lob.jobs.find
247
-
248
- ```ruby
249
- # returns the job with the corresponding ID
250
- @lob.jobs.find("some-job-id")
251
- ```
252
-
253
- ### lob.addresses
254
-
255
- #### lob.addresses.create
256
-
257
- ```ruby
258
- # name, address, city, state, country and zip are required parameters
259
- @lob.addresses.create(
260
- name: "John Doe",
261
- email: "test@test.com", # optional
262
- address_line1: "104, Printing Boulevard",
263
- address_line2: "Sunset Town", # optional
264
- city: "Boston",
265
- state: "MA",
266
- country: "US",
267
- zip: 12345
268
- )
269
- ```
270
-
271
- #### lob.addresses.list
272
-
273
- ```ruby
274
- # returns an array of addresses
275
- @lob.addresses.list
276
-
277
- #you can also pass count and offset
278
- @lob.addresses.list(count: 10, offset: 3)
279
- ```
280
-
281
- #### lob.addresses.find
282
-
283
- ```ruby
284
- # returns the address with the corresponding ID
285
- @lob.addresses.find("some-address-id")
286
- ```
287
-
288
- #### lob.addresses.destroy
289
-
290
- ```ruby
291
- # deletes the address with the corresponding ID
292
- @lob.addresses.destroy("some-address-id")
293
- ```
294
-
295
- #### lob.addresses.verify
296
-
297
- ```ruby
298
- # verifies and returns an address with more details
299
- @lob.addresses.verify(
300
- address_line1: "220 WILLIAM T MORRISSEY BLVD",
301
- city: "Boston",
302
- state: "MA",
303
- zip: "02125"
304
- )
305
- ```
306
-
307
- ### lob.objects
308
-
309
- #### lob.objects.create
310
-
311
- ```ruby
312
- # You can create an object by passing the name, file url and setting ID, quantity is defaulted to 1
313
- @lob.objects.create(
314
- name: "Your fantastic object",
315
- file: "https://s3-us-west-2.amazonaws.com/lob-assets/test.pdf",
316
- setting: "201"
317
- )
318
-
319
- # You can also pass the quantity as an option
320
- # Or pass a file for upload instead of a url
321
- @lob.objects.create(
322
- name: "Your fantastic object",
323
- file: File.new("/path/to/file.pdf"),
324
- setting: "some-setting",
325
- quantity: 12
326
- )
327
-
328
- # You can also pass an HTML string instead of a file
329
- @lob.objects.create(
330
- name: "Your fantastic object",
331
- file: "<html style='margin: 130px; font-size: 50;'>HTML here</html>",
332
- setting: "some-setting"
333
- )
334
- ```
335
-
336
- #### lob.objects.list
337
-
338
- ```ruby
339
- # returns an array of objects
340
- @lob.objects.list
341
-
342
- #you can also pass count and offset
343
- @lob.objects.list(count: 10, offset: 3)
344
- ```
345
-
346
- #### lob.objects.find
347
-
348
- ```ruby
349
- # returns the object with the corresponding ID
350
- @lob.objects.find("some-object-id")
351
- ```
352
-
353
- #### lob.objects.destroy
354
-
355
- ```ruby
356
- # deletes the object with the corresponding ID
357
- @lob.objects.destroy("some-object-id")
358
- ```
359
-
360
- ### lob.settings
361
-
362
- #### lob.settings.list
363
- ```ruby
364
- # returns an array of settings
365
- @lob.settings.list
366
- ```
367
-
368
- #### lob.settings.find
369
- ```ruby
370
- # returns a setting object
371
- @lob.settings.find("setting")
372
- ```
373
-
374
- ### lob.services
375
-
376
- #### lob.services.list
377
-
378
- ```ruby
379
- # returns a list of services
380
- @lob.services.list
381
- ```
382
-
383
- ## Simple Postcard Service
384
-
385
- ### lob.postcards
386
-
387
- #### lob.postcards.create
388
-
389
- You'll have to specify either the `message` option or the `back` option.
390
-
391
- ```ruby
392
-
393
- # create postcard with message
394
-
395
- @lob.postcards.create(
396
- name: "John Joe",
397
- to: {
398
- name: "ToAddress",
399
- address_line1: "120, 6th Ave",
400
- city: "Boston",
401
- state: "MA",
402
- country: "US",
403
- zip: 12345
404
- },
405
- from: {
406
- name: "FromAddress",
407
- address_line1: "120, 6th Ave",
408
- city: "Boston",
409
- state: "MA",
410
- country: "US",
411
- zip: 12345
412
- },
413
- front: "https://lob.com/postcardfront.pdf",
414
- message: "Hey Buddy, Thanks for Visiting",
415
- full_bleed: 1
416
- )
417
-
418
- # create postcard with your own back, adhering to lob's template
419
- @lob.postcards.create(
420
- name: "John Joe",
421
- to: {
422
- name: "ToAddress",
423
- address_line1: "120, 6th Ave",
424
- city: "Boston",
425
- state: "MA",
426
- country: "US",
427
- zip: 12345
428
- },
429
- from: {
430
- name: "FromAddress",
431
- address_line1: "120, 6th Ave",
432
- city: "Boston",
433
- state: "MA",
434
- country: "US",
435
- zip: 12345
436
- },
437
- front: "https://lob.com/postcardfront.pdf",
438
- back: File.new("/path/to/file.pdf"),
439
- full_bleed: 1,
440
- template: 1
441
- )
442
-
443
- # create postcard with HTML string & a stored address id
444
- @lob.postcards.create(
445
- name: "John Joe",
446
- to: "to-address-id",
447
- front: "<html style='margin: 130px; font-size: 50;'>HTML here</html>",
448
- message: "Hey buddy. Waiting to hear your stories."
449
- )
450
- ```
451
-
452
- #### lob.postcards.list
453
-
454
- ```ruby
455
- @lob.postcards.list
456
-
457
- #you can also pass count and offset
458
- @lob.postcards.list(count: 10, offset: 3)
459
- ```
460
-
461
- #### lob.postcards.find
462
-
463
- ```ruby
464
- @lob.postcards.find("post-card-id")
465
- ```
466
-
467
- ## Simple Check Service
468
-
469
- ### lob.checks
470
-
471
- #### lob.checks.create
472
-
473
- ```ruby
474
- # For the "to" address, you can pass params
475
- # Transfer $5000 to a bank account.
476
- @lob.checks.create(
477
- bank_account: "bank-account-id",
478
- to: {
479
- name: "FromAddress",
480
- address_line1: "120, 6th Ave",
481
- city: "Boston",
482
- state: "MA",
483
- country: "US",
484
- zip: 12345
485
- },
486
- amount: 5000,
487
- logo: "https://s3-us-west-2.amazonaws.com/lob-assets/lob_check_logo.png" # optional
488
- )
489
-
490
- # or an address ID
491
- @lob.checks.create(
492
- bank_account: "bank-account-id",
493
- to: "to-address-ID",
494
- amount: 5000,
495
- logo: "https://s3-us-west-2.amazonaws.com/lob-assets/lob_check_logo.png" # optional
496
- )
497
-
498
- # You can also specify an optional 4th argument, with other options.
499
- ```
500
-
501
- #### lob.checks.list
502
-
503
- ```ruby
504
- @lob.checks.list
505
- ```
506
-
507
- #### lob.checks.find
508
-
509
- ```ruby
510
- @lob.checks.find("check-id")
511
- ```
512
-
513
- ### lob.bank_accounts
514
-
515
- #### lob.bank_accounts.create
516
-
517
- ```ruby
518
- bank_address =
519
-
520
- account_address =
521
-
522
- # Pass address params or address IDs
523
- # The 5th argument is the options argument and is optional
524
- @lob.bank_accounts.create(
525
- routing_number: "routing_number",
526
- account_number: "account_number",
527
- signatory: "John Doe",
528
- bank_address: {
529
- name: "ToAddress",
530
- address_line1: "120 6th Ave",
531
- city: "Boston",
532
- country: "US",
533
- zip: 12345
534
- },
535
- account_address: {
536
- name: "ToAddress",
537
- address_line1: "120 6th Ave",
538
- city: "Boston",
539
- country: "US",
540
- zip: 12345
541
- }
542
- )
543
- ```
544
-
545
- #### lob.bank_accounts.list
546
-
547
- ```ruby
548
- # returns a list of accounts
549
- @lob.bank_accounts.list
550
- ```
551
-
552
- #### lob.bank_accounts.find
553
-
554
- ```ruby
555
- @lob.bank_accounts.find("bank-account-id")
556
- ```
557
-
558
- ## Simple Area Mail
559
-
560
- ### lob.areas
561
-
562
- #### lob.areas.create
563
-
564
- You'll have to specify front, back, and either zip_codes or routes
565
-
566
- ```ruby
567
- # create an area request with remote files & with routes
568
- @lob.areas.create(
569
- name: "My Area",
570
- front: "https://s3-us-west-2.amazonaws.com/lob-assets/areafront.pdf",
571
- back: "https://s3-us-west-2.amazonaws.com/lob-assets/areaback.pdf",
572
- routes: ["94158-C001", "94107-C031"],
573
- target_type: "all",
574
- full_bleed: "1"
575
- )
576
-
577
- # create an area request with HTML & with zip codes
578
- @lob.areas.create(
579
- name: "My Area",
580
- front: "<html style='margin: 130px; font-size: 50;'>HTML here</html>",
581
- back: "<html style='margin: 130px; font-size: 50;'>HTML here</html>",
582
- zip_codes: ["95678", "94158"],
583
- target_type: "all",
584
- full_bleed: "1"
585
- )
586
- ```
587
-
588
- zip_codes and routes can be a string or an array of strings
589
-
590
- #### lob.areas.list
591
- ```ruby
592
- @lob.areas.list
593
-
594
- # you can also pass count and offset
595
- @lob.areas.list(count: 10, offset: 3)
596
- ```
597
-
598
- #### lob.areas.find
599
- ```ruby
600
- @lob.areas.find("area_id")
601
- ```
602
-
603
- ### lob.routes
604
-
605
- You'll have to specify zip_codes
606
-
607
- #### lob.routes.find
608
-
609
- ```ruby
610
- @lob.routes.find(
611
- zip_codes: ["95678, 94158"]
612
- )
613
- ```
614
-
615
- zip_codes can be a string or an array of strings
616
-
617
- ## Resources
618
-
619
- ### lob.countries
620
-
621
- #### lob.countries.list
79
+ #### Caution: Pass zero-prefixed zip codes as strings
622
80
 
623
- ```ruby
624
- # returns a list of countries
625
- @lob.countries.list
626
- ```
81
+ When using zip codes with zero-prefixes, always quote them. For example when specifying `02125`, pass it as a string `"02125"`, instead of an integer.
627
82
 
628
- ### lob.states
83
+ The Ruby interpreter assumes it's not of base-10 and tries to convert it to base-10 number. So that might result in an entirely different zip-code than intended.
629
84
 
630
- #### lob.states.list
85
+ ## Examples
86
+
87
+ We've provided various examples for you to try out [here](https://github.com/lob/lob-ruby/tree/master/examples).
88
+
89
+ ## API Documentation
90
+
91
+ - [Introduction](https://lob.com/docs/ruby#introduction)
92
+ - [Versioning](https://lob.com/docs/ruby#version)
93
+ - [Image Prepping](https://lob.com/docs/ruby#prepping)
94
+ - **Addresses**
95
+ - [Address Book](https://lob.com/docs/ruby#addresses)
96
+ - [Create an Address](https://lob.com/docs/ruby#addresses_create)
97
+ - [Retrieve an Address](https://lob.com/docs/ruby#addresses_retrieve)
98
+ - [Delete an Address](https://lob.com/docs/ruby#addresses_delete)
99
+ - [List all Addresses](https://lob.com/docs/ruby#addresses_list)
100
+ - [Simple Address Verification](https://lob.com/docs/ruby#verify)
101
+ - [Verify an Address](https://lob.com/docs/ruby#verify_create)
102
+ - **Simple Postcard Service**
103
+ - [Postcards](https://lob.com/docs/ruby#postcards)
104
+ - [Create a Postcard](https://lob.com/docs/ruby#postcards_create)
105
+ - [Retrieve a Postcard](https://lob.com/docs/ruby#postcards_retrieve)
106
+ - [List all Postcards](https://lob.com/docs/ruby#postcards_list)
107
+ - **Simple Letter Service**
108
+ - [Letters](https://lob.com/docs/ruby#letters)
109
+ - [Create a Letter](https://lob.com/docs/ruby#letters_create)
110
+ - [Retrieve a Letter](https://lob.com/docs/ruby#letters_retrieve)
111
+ - [List all Letters](https://lob.com/docs/ruby#letters_list)
112
+ - **Simple Check Service**
113
+ - [Checks](https://lob.com/docs/ruby#checks)
114
+ - [Create a Check](https://lob.com/docs/ruby#checks_create)
115
+ - [Retrieve a Check](https://lob.com/docs/ruby#checks_retrieve)
116
+ - [List all Checks](https://lob.com/docs/ruby#checks_list)
117
+ - [Bank Accounts](https://lob.com/docs/ruby#bank-accounts)
118
+ - [Create a Bank Account](https://lob.com/docs/ruby#bankaccounts_create)
119
+ - [Retrieve a Bank Account](https://lob.com/docs/ruby#bankaccounts_retrieve)
120
+ - [List all Bank Accounts](https://lob.com/docs/ruby#bankaccounts_list)
121
+ - [Verify a Bank Account](https://lob.com/docs/ruby#bankaccounts_verify)
122
+ - [Delete a Bank Account](https://lob.com/docs/ruby#bankaccounts_delete)
123
+ - **Simple Print Service**
124
+ - [Jobs](https://lob.com/docs/ruby#jobs)
125
+ - [Create a Job](https://lob.com/docs/ruby#jobs_create)
126
+ - [Retrieve a Job](https://lob.com/docs/ruby#jobs_retrieve)
127
+ - [List all Jobs](https://lob.com/docs/ruby#jobs_list)
128
+ - [Objects](https://lob.com/docs/ruby#objects)
129
+ - [Create an Object](https://lob.com/docs/ruby#objects_create)
130
+ - [Retrieve an Object](https://lob.com/docs/ruby#objects_retrieve)
131
+ - [Delete an Object](https://lob.com/docs/ruby#objects_delete)
132
+ - [List all Objects](https://lob.com/docs/ruby#objects_list)
133
+ - [Settings](https://lob.com/docs/ruby#settings)
134
+ - [Retrieve a Setting](https://lob.com/docs/ruby#settings_retrieve)
135
+ - [List all Settings](https://lob.com/docs/ruby#settings_list)
136
+ - **Simple Area Mail**
137
+ - [Areas](https://lob.com/docs/ruby#areas)
138
+ - [Create an Area Mailing](https://lob.com/docs/ruby#areas_create)
139
+ - [Retrieve an Area Mailing](https://lob.com/docs/ruby#areas_retrieve)
140
+ - [List all Area Mailings](https://lob.com/docs/ruby#areas_list)
141
+ - [Routes](https://lob.com/docs/ruby#routes)
142
+ - [Retrieve a Zip Code](https://lob.com/docs/ruby#routes_retrieve)
143
+ - [List all Zip Codes](https://lob.com/docs/ruby#routes_list)
144
+ - **Resources**
145
+ - [Countries](https://lob.com/docs/ruby#countries)
146
+ - [List all Countries](https://lob.com/docs/ruby#countries_list)
147
+ - [States](https://lob.com/docs/ruby#states)
148
+ - [List all States](https://lob.com/docs/ruby#states_list)
149
+ - **Appendix**
150
+ - [SPS Templates](https://lob.com/docs/ruby#sps-templates)
151
+ - [Custom Fonts with HTML](https://lob.com/docs/ruby#html-fonts)
152
+ - [Postcard HTML Examples](https://lob.com/docs/ruby#postcard-examples)
153
+ - [Area HTML Examples](https://lob.com/docs/ruby#area-examples)
154
+ - [Letter HTML Examples](https://lob.com/docs/ruby#letter-examples)
631
155
 
632
- ```ruby
633
- # returns a list of states
634
- @lob.states.list
635
- ```
636
-
637
- ## Developing
156
+ ## Contributing
638
157
 
639
158
  Make sure you have Ruby 2.0 installed. Copy and paste the following commands in your projects directory.
640
159
 
@@ -642,7 +161,15 @@ Make sure you have Ruby 2.0 installed. Copy and paste the following commands in
642
161
  cd lob-ruby
643
162
  bundle install
644
163
 
645
- You are powered up and ready to roll ~!
164
+ ### Contributing Instructions
165
+
166
+ 1. Fork it
167
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
168
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
169
+ 4. Push to the branch (`git push origin my-new-feature`)
170
+ 5. Make sure the tests pass
171
+ 6. Open up coverage/index.html in your browser and add tests if required
172
+ 7. Create new Pull Request
646
173
 
647
174
  ## Testing
648
175
 
@@ -658,24 +185,11 @@ Here's how you can run the tests:
658
185
 
659
186
  LOB_API_KEY=your_test_api_key bundle exec rake test
660
187
 
661
-
662
188
  When you make changes to failed tests, then clear out the vcr cassettes to re-record the http requests. You can clear out all the cassettes by running `rm -rf spec/vcr_cassettes`.
663
189
 
664
190
  You can also configure, TravisCI for your fork of the repository and it'll run the tests for you, when you push.
665
191
 
666
- ## Contributing
667
-
668
- 1. Fork it
669
- 2. Create your feature branch (`git checkout -b my-new-feature`)
670
- 3. Commit your changes (`git commit -am 'Add some feature'`)
671
- 4. Push to the branch (`git push origin my-new-feature`)
672
- 5. Make sure the tests pass
673
- 6. Open up coverage/index.html in your browser and add tests if required
674
- 7. Create new Pull Request
675
-
676
- ## Credits
677
-
678
- * [Akash Manohar J](http://github.com/HashNuke)
192
+ =======================
679
193
 
680
194
  Copyright &copy; 2013 Lob.com
681
195