lob 1.13.0 → 2.0.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.travis.yml +0 -4
  4. data/CHANGELOG.md +10 -0
  5. data/README.md +2 -7
  6. data/Rakefile +0 -19
  7. data/lib/lob.rb +2 -8
  8. data/lib/lob/v1/address.rb +3 -4
  9. data/lib/lob/v1/area.rb +1 -1
  10. data/lib/lob/v1/bank_account.rb +1 -9
  11. data/lib/lob/v1/check.rb +1 -5
  12. data/lib/lob/v1/country.rb +1 -1
  13. data/lib/lob/v1/job.rb +1 -9
  14. data/lib/lob/v1/letter.rb +1 -11
  15. data/lib/lob/v1/object.rb +1 -1
  16. data/lib/lob/v1/postcard.rb +1 -9
  17. data/lib/lob/v1/resource.rb +0 -16
  18. data/lib/lob/v1/route.rb +1 -1
  19. data/lib/lob/v1/service.rb +1 -1
  20. data/lib/lob/v1/setting.rb +1 -1
  21. data/lib/lob/v1/state.rb +1 -1
  22. data/lib/lob/version.rb +1 -1
  23. data/lob.gemspec +0 -1
  24. data/spec/lob/v1/address_spec.rb +21 -34
  25. data/spec/lob/v1/area_spec.rb +15 -31
  26. data/spec/lob/v1/bank_account_spec.rb +57 -80
  27. data/spec/lob/v1/check_spec.rb +44 -69
  28. data/spec/lob/v1/country_spec.rb +1 -4
  29. data/spec/lob/v1/job_spec.rb +114 -144
  30. data/spec/lob/v1/letter_spec.rb +39 -58
  31. data/spec/lob/v1/object_spec.rb +31 -49
  32. data/spec/lob/v1/postcard_spec.rb +65 -89
  33. data/spec/lob/v1/resource_spec.rb +1 -6
  34. data/spec/lob/v1/route_spec.rb +3 -7
  35. data/spec/lob/v1/service_spec.rb +1 -4
  36. data/spec/lob/v1/setting_spec.rb +4 -12
  37. data/spec/lob/v1/state_spec.rb +1 -4
  38. data/spec/lob_spec.rb +2 -6
  39. data/spec/samples/8.5x11.pdf +0 -0
  40. data/spec/samples/postcardback.pdf +2288 -1
  41. data/spec/samples/postcardfront.pdf +1550 -0
  42. data/spec/spec_helper.rb +0 -6
  43. metadata +8 -19
  44. data/lib/lob/v1/packaging.rb +0 -21
  45. data/spec/lob/v1/packaging_spec.rb +0 -16
@@ -8,10 +8,10 @@ describe Lob::V1::Letter do
8
8
  email: "test@test.com",
9
9
  address_line1: "123 Test Street",
10
10
  address_line2: "Unit 199",
11
- city: "Mountain View",
12
- state: "CA",
13
- country: "US",
14
- zip: 94085
11
+ address_city: "Mountain View",
12
+ address_state: "CA",
13
+ address_country: "US",
14
+ address_zip: 94085
15
15
  }
16
16
  end
17
17
 
@@ -19,75 +19,56 @@ describe Lob::V1::Letter do
19
19
 
20
20
  describe "list" do
21
21
  it "should list letter" do
22
- VCR.use_cassette('list_letters') do
23
- new_address = subject.addresses.create @sample_address_params
24
-
25
- new_letter = subject.letters.create(
26
- description: "TestLetter",
27
- color: true,
28
- file: "https://s3-us-west-2.amazonaws.com/lob-assets/letter-goblue.pdf",
29
- to: new_address["id"],
30
- from: new_address["id"]
31
- )
32
-
33
- list_result = subject.letters.list
34
- assert /#{new_letter["description"]}/ =~ list_result.to_s
35
- end
22
+ assert subject.letters.list["object"] == "list"
36
23
  end
37
24
  end
38
25
 
39
26
 
40
27
  describe "create" do
41
28
  it "should create a letter with address_id" do
42
- VCR.use_cassette('create_letter_with_address_id') do
43
- new_address = subject.addresses.create @sample_address_params
44
-
45
- new_letter = subject.letters.create(
46
- description: "TestLetter",
47
- color: true,
48
- file: "https://s3-us-west-2.amazonaws.com/lob-assets/letter-goblue.pdf",
49
- to: new_address["id"],
50
- from: @sample_address_params
51
- )
52
-
53
- new_letter["description"].must_equal("TestLetter")
54
- end
29
+ new_address = subject.addresses.create @sample_address_params
30
+
31
+ new_letter = subject.letters.create(
32
+ description: "TestLetter",
33
+ color: true,
34
+ file: "https://s3-us-west-2.amazonaws.com/lob-assets/letter-goblue.pdf",
35
+ to: new_address["id"],
36
+ from: @sample_address_params
37
+ )
38
+
39
+ new_letter["description"].must_equal("TestLetter")
55
40
  end
56
41
 
57
42
  it "should create a letter with a local file" do
58
- VCR.use_cassette('create_letter_with_address_id') do
59
- new_address = subject.addresses.create @sample_address_params
60
-
61
- new_letter = subject.letters.create(
62
- description: "TestLetter",
63
- color: true,
64
- file: File.new(File.expand_path("../../../samples/8.5x11.pdf", __FILE__)),
65
- to: new_address["id"],
66
- from: @sample_address_params
67
- )
68
-
69
- new_letter["description"].must_equal("TestLetter")
70
- end
43
+ new_address = subject.addresses.create @sample_address_params
44
+
45
+ new_letter = subject.letters.create(
46
+ description: "TestLetter",
47
+ color: true,
48
+ file: File.new(File.expand_path("../../../samples/8.5x11.pdf", __FILE__)),
49
+ to: new_address["id"],
50
+ from: @sample_address_params
51
+ )
52
+
53
+ new_letter["description"].must_equal("TestLetter")
71
54
  end
72
55
  end
73
56
 
74
57
 
75
58
  describe "find" do
76
59
  it "should find a letter" do
77
- VCR.use_cassette('find_letter') do
78
- new_address = subject.addresses.create @sample_address_params
79
-
80
- new_letter = subject.letters.create(
81
- description: "TestLetter",
82
- color: true,
83
- file: "https://s3-us-west-2.amazonaws.com/lob-assets/letter-goblue.pdf",
84
- to: new_address["id"],
85
- from: new_address["id"]
86
- )
87
-
88
- result = subject.letters.find(new_letter["id"])
89
- assert /#{new_letter["description"]}/ =~ result.to_s
90
- end
60
+ new_address = subject.addresses.create @sample_address_params
61
+
62
+ new_letter = subject.letters.create(
63
+ description: "TestLetter",
64
+ color: true,
65
+ file: "https://s3-us-west-2.amazonaws.com/lob-assets/letter-goblue.pdf",
66
+ to: new_address["id"],
67
+ from: new_address["id"]
68
+ )
69
+
70
+ result = subject.letters.find(new_letter["id"])
71
+ assert /#{new_letter["description"]}/ =~ result.to_s
91
72
  end
92
73
  end
93
74
 
@@ -13,77 +13,59 @@ describe Lob::V1::Object do
13
13
 
14
14
  describe "list" do
15
15
  it "should list objects" do
16
- VCR.use_cassette('list_objects') do
17
- settings_list = subject.settings.list
18
- new_object = subject.objects.create(
19
- description: @sample_params[:description],
20
- file: "https://lob.com/postcardfront.pdf",
21
- setting: @test_setting_id
22
- )
23
-
24
- list_result = subject.objects.list
25
- assert /#{new_object["description"]}/ =~ list_result.to_s
26
- end
16
+ assert subject.objects.list["object"] == "list"
27
17
  end
28
18
  end
29
19
 
30
20
  describe "create" do
31
21
  it "should create an object with file url" do
32
- VCR.use_cassette('create_object_with_url') do
33
- settings_list = subject.settings.list
34
- result = subject.objects.create(
35
- description: @sample_params[:description],
36
- file: "https://lob.com/postcardfront.pdf",
37
- setting: @test_setting_id
38
- )
22
+ settings_list = subject.settings.list
23
+ result = subject.objects.create(
24
+ description: @sample_params[:description],
25
+ file: "https://lob.com/postcardfront.pdf",
26
+ setting: @test_setting_id
27
+ )
39
28
 
40
- result["description"].must_equal(@sample_params[:description])
41
- end
29
+ result["description"].must_equal(@sample_params[:description])
42
30
  end
43
31
 
44
32
  it "should create an object with file" do
45
- VCR.use_cassette('create_object_with_file') do
46
- settings_list = subject.settings.list
47
- result = subject.objects.create(
48
- description: @sample_params[:description],
49
- file: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__), "rb"),
50
- setting: @test_setting_id
51
- )
33
+ settings_list = subject.settings.list
34
+ result = subject.objects.create(
35
+ description: @sample_params[:description],
36
+ file: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__), "rb"),
37
+ setting: @test_setting_id
38
+ )
52
39
 
53
- result["description"].must_equal(@sample_params[:description])
54
- end
40
+ result["description"].must_equal(@sample_params[:description])
55
41
  end
56
42
  end
57
43
 
58
44
  describe "find" do
59
45
  it "should find an object" do
60
- VCR.use_cassette('find_object') do
61
- settings_list = subject.settings.list
62
- new_object = subject.objects.create(
63
- description: @sample_params[:description],
64
- file: "https://lob.com/postcardfront.pdf",
65
- setting: @test_setting_id
66
- )
46
+ settings_list = subject.settings.list
47
+ new_object = subject.objects.create(
48
+ description: @sample_params[:description],
49
+ file: "https://lob.com/postcardfront.pdf",
50
+ setting: @test_setting_id
51
+ )
67
52
 
68
- find_result = subject.objects.find(new_object["id"])
69
- find_result["description"].must_equal(@sample_params[:description])
70
- end
53
+ find_result = subject.objects.find(new_object["id"])
54
+ find_result["description"].must_equal(@sample_params[:description])
71
55
  end
72
56
  end
73
57
 
74
58
  describe "destroy" do
75
59
  it "should delete an object" do
76
- VCR.use_cassette('delete_object') do
77
- settings_list = subject.settings.list
78
- new_object = subject.objects.create(
79
- description: @sample_params[:description],
80
- file: "https://lob.com/postcardfront.pdf",
81
- setting: @test_setting_id
82
- )
60
+ settings_list = subject.settings.list
61
+ new_object = subject.objects.create(
62
+ description: @sample_params[:description],
63
+ file: "https://lob.com/postcardfront.pdf",
64
+ setting: @test_setting_id
65
+ )
83
66
 
84
- delete_result = subject.objects.destroy(new_object["id"])
85
- assert_equal(new_object["id"], delete_result["id"])
86
- end
67
+ delete_result = subject.objects.destroy(new_object["id"])
68
+ assert_equal(new_object["id"], delete_result["id"])
87
69
  end
88
70
  end
89
71
 
@@ -8,10 +8,10 @@ describe Lob::V1::Postcard do
8
8
  email: "test@test.com",
9
9
  address_line1: "123 Test Street",
10
10
  address_line2: "Unit 199",
11
- city: "Mountain View",
12
- state: "CA",
13
- country: "US",
14
- zip: 94085
11
+ address_city: "Mountain View",
12
+ address_state: "CA",
13
+ address_country: "US",
14
+ address_zip: 94085
15
15
  }
16
16
 
17
17
  @sample_postcard_params = {
@@ -24,97 +24,75 @@ describe Lob::V1::Postcard do
24
24
 
25
25
  describe "list" do
26
26
  it "should list postcards" do
27
- VCR.use_cassette('list_postcards') do
28
- new_address = subject.addresses.create @sample_address_params
29
-
30
- new_postcard = subject.postcards.create(
31
- name: @sample_postcard_params[:name],
32
- to: new_address["id"],
33
- front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
34
- back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
35
- )
36
-
37
- list_result = subject.postcards.list
38
- assert /#{new_postcard["name"]}/ =~ list_result.to_s
39
- end
27
+ assert subject.postcards.list["object"] == "list"
40
28
  end
41
29
  end
42
30
 
43
31
 
44
32
  describe "create" do
45
33
  it "should create a postcard with address_id" do
46
- VCR.use_cassette('create_postcard_with_address_id_and_message') do
47
- new_address = subject.addresses.create @sample_address_params
48
-
49
- result = subject.postcards.create(
50
- name: @sample_postcard_params[:name],
51
- to: new_address["id"],
52
- message: @sample_postcard_params[:message],
53
- front: "https://lob.com/postcardfront.pdf",
54
- )
55
-
56
- result["name"].must_equal(@sample_postcard_params[:name])
57
- end
34
+ new_address = subject.addresses.create @sample_address_params
35
+
36
+ result = subject.postcards.create(
37
+ name: @sample_postcard_params[:name],
38
+ to: new_address["id"],
39
+ message: @sample_postcard_params[:message],
40
+ front: "https://lob.com/postcardfront.pdf",
41
+ )
42
+
43
+ result["name"].must_equal(@sample_postcard_params[:name])
58
44
  end
59
45
 
60
46
  it "should create a postcard with to address params" do
61
- VCR.use_cassette('create_postcard_with_to_address_params') do
62
- result = subject.postcards.create(
63
- name: @sample_postcard_params[:name],
64
- to: @sample_address_params,
65
- message: @sample_postcard_params[:message],
66
- front: "https://lob.com/postcardfront.pdf"
67
- )
68
-
69
- result["name"].must_equal(@sample_postcard_params[:name])
70
- end
47
+ result = subject.postcards.create(
48
+ name: @sample_postcard_params[:name],
49
+ to: @sample_address_params,
50
+ message: @sample_postcard_params[:message],
51
+ front: "https://lob.com/postcardfront.pdf"
52
+ )
53
+
54
+ result["name"].must_equal(@sample_postcard_params[:name])
71
55
  end
72
56
 
73
57
  it "should create a postcard with from address params" do
74
- VCR.use_cassette('create_postcard_with_from_address_params') do
75
- new_address = subject.addresses.create @sample_address_params
76
-
77
- result = subject.postcards.create(
78
- name: @sample_postcard_params[:name],
79
- to: new_address["id"],
80
- from: @sample_address_params,
81
- message: @sample_postcard_params[:message],
82
- front: "https://lob.com/postcardfront.pdf"
83
- )
84
-
85
- result["name"].must_equal(@sample_postcard_params[:name])
86
- end
58
+ new_address = subject.addresses.create @sample_address_params
59
+
60
+ result = subject.postcards.create(
61
+ name: @sample_postcard_params[:name],
62
+ to: new_address["id"],
63
+ from: @sample_address_params,
64
+ message: @sample_postcard_params[:message],
65
+ front: "https://lob.com/postcardfront.pdf"
66
+ )
67
+
68
+ result["name"].must_equal(@sample_postcard_params[:name])
87
69
  end
88
70
 
89
71
  it "should create a postcard with front and back as urls" do
90
- VCR.use_cassette('create_postcard_with_front_and_back_urls') do
91
- new_address = subject.addresses.create @sample_address_params
92
-
93
- result = subject.postcards.create(
94
- name: @sample_postcard_params[:name],
95
- to: new_address["id"],
96
- front: "https://lob.com/postcardfront.pdf",
97
- back: "https://lob.com/postcardback.pdf"
98
- )
99
-
100
- result["name"].must_equal(@sample_postcard_params[:name])
101
- end
72
+ new_address = subject.addresses.create @sample_address_params
73
+
74
+ result = subject.postcards.create(
75
+ name: @sample_postcard_params[:name],
76
+ to: new_address["id"],
77
+ front: "https://lob.com/postcardfront.pdf",
78
+ back: "https://lob.com/postcardback.pdf"
79
+ )
80
+
81
+ result["name"].must_equal(@sample_postcard_params[:name])
102
82
  end
103
83
 
104
84
 
105
85
  it "should create a postcard with front and back as PDFs" do
106
- VCR.use_cassette('create_postcard_with_front_and_back_pdfs') do
107
- new_address = subject.addresses.create @sample_address_params
108
-
109
- result = subject.postcards.create(
110
- name: @sample_postcard_params[:name],
111
- to: new_address["id"],
112
- front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
113
- back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
114
- )
115
-
116
- result["name"].must_equal(@sample_postcard_params[:name])
117
- end
86
+ new_address = subject.addresses.create @sample_address_params
87
+
88
+ result = subject.postcards.create(
89
+ name: @sample_postcard_params[:name],
90
+ to: new_address["id"],
91
+ front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
92
+ back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
93
+ )
94
+
95
+ result["name"].must_equal(@sample_postcard_params[:name])
118
96
  end
119
97
 
120
98
  end
@@ -122,19 +100,17 @@ describe Lob::V1::Postcard do
122
100
 
123
101
  describe "find" do
124
102
  it "should find a postcard" do
125
- VCR.use_cassette('find_postcard') do
126
- new_address = subject.addresses.create @sample_address_params
127
-
128
- new_postcard = subject.postcards.create(
129
- name: @sample_postcard_params[:name],
130
- to: new_address["id"],
131
- front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
132
- back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
133
- )
134
-
135
- result = subject.postcards.find(new_postcard["id"])
136
- result["name"].must_equal(@sample_postcard_params[:name])
137
- end
103
+ new_address = subject.addresses.create @sample_address_params
104
+
105
+ new_postcard = subject.postcards.create(
106
+ name: @sample_postcard_params[:name],
107
+ to: new_address["id"],
108
+ front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
109
+ back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
110
+ )
111
+
112
+ result = subject.postcards.find(new_postcard["id"])
113
+ result["name"].must_equal(@sample_postcard_params[:name])
138
114
  end
139
115
  end
140
116
 
@@ -19,7 +19,6 @@ describe Lob::V1::Resource do
19
19
  end
20
20
  end
21
21
 
22
-
23
22
  it "should return addresses resource" do
24
23
  subject.addresses.must_be_kind_of(Lob::V1::Address)
25
24
  end
@@ -32,10 +31,6 @@ describe Lob::V1::Resource do
32
31
  subject.objects.must_be_kind_of(Lob::V1::Object)
33
32
  end
34
33
 
35
- it "should return packagings resource" do
36
- subject.packagings.must_be_kind_of(Lob::V1::Packaging)
37
- end
38
-
39
34
  it "should return postcards resource" do
40
35
  subject.postcards.must_be_kind_of(Lob::V1::Postcard)
41
36
  end
@@ -43,7 +38,7 @@ describe Lob::V1::Resource do
43
38
  it "should return services resource" do
44
39
  subject.services.must_be_kind_of(Lob::V1::Service)
45
40
  end
46
-
41
+
47
42
  it "should return settings resource" do
48
43
  subject.settings.must_be_kind_of(Lob::V1::Setting)
49
44
  end