easypost 2.7.1 → 3.1.3

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.
@@ -1,25 +1,28 @@
1
1
  module EasyPost
2
2
  class Webhook < Resource
3
3
  def update(params={})
4
+ # NOTE: This method is redefined here since the "url" method conflicts
5
+ # with the objects field
4
6
  unless self.id
5
7
  raise Error.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{self.id.inspect}")
6
8
  end
7
9
  instance_url = "#{self.class.url}/#{CGI.escape(id)}"
8
10
 
9
- response, api_key = EasyPost.request(:put, instance_url, @api_key, params)
11
+ response = EasyPost.make_request(:put, instance_url, @api_key, params)
10
12
  self.refresh_from(response, api_key, true)
11
13
 
12
14
  return self
13
15
  end
14
16
 
15
17
  def delete
16
- # Note: This method is redefined here since the "url" method conflicts with the objects field
18
+ # NOTE: This method is redefined here since the "url" method conflicts
19
+ # with the objects field
17
20
  unless self.id
18
21
  raise Error.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{self.id.inspect}")
19
22
  end
20
23
  instance_url = "#{self.class.url}/#{CGI.escape(id)}"
21
24
 
22
- response, api_key = EasyPost.request(:delete, instance_url, @api_key)
25
+ response = EasyPost.make_request(:delete, instance_url, @api_key)
23
26
  refresh_from(response, api_key)
24
27
 
25
28
  return self
metadata CHANGED
@@ -1,93 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easypost
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1
4
+ version: 3.1.3
5
5
  platform: ruby
6
6
  authors:
7
- - Sawyer Bateman
7
+ - Jake Epstein
8
+ - Andrew Tribone
9
+ - James Brown
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2017-05-25 00:00:00.000000000 Z
13
+ date: 2020-06-26 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
- name: rest-client
16
+ name: pry
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - '>='
19
+ - - "~>"
18
20
  - !ruby/object:Gem::Version
19
- version: '1.4'
20
- type: :runtime
21
+ version: '0.13'
22
+ type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - '>='
26
+ - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: '1.4'
28
+ version: '0.13'
27
29
  - !ruby/object:Gem::Dependency
28
- name: multi_json
30
+ name: rake
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
- - - '>='
33
+ - - "~>"
32
34
  - !ruby/object:Gem::Version
33
- version: 1.3.0
34
- type: :runtime
35
+ version: '13.0'
36
+ type: :development
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - '>='
40
+ - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: 1.3.0
42
+ version: '13.0'
41
43
  - !ruby/object:Gem::Dependency
42
- name: bundler
44
+ name: rspec
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - ~>
47
+ - - "~>"
46
48
  - !ruby/object:Gem::Version
47
- version: '1.7'
49
+ version: '3.9'
48
50
  type: :development
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
- - - ~>
54
+ - - "~>"
53
55
  - !ruby/object:Gem::Version
54
- version: '1.7'
56
+ version: '3.9'
55
57
  - !ruby/object:Gem::Dependency
56
- name: rake
58
+ name: webmock
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - ~>
61
+ - - "~>"
60
62
  - !ruby/object:Gem::Version
61
- version: '10.0'
63
+ version: '3.8'
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - ~>
68
+ - - "~>"
67
69
  - !ruby/object:Gem::Version
68
- version: '10.0'
70
+ version: '3.8'
69
71
  - !ruby/object:Gem::Dependency
70
- name: rspec
72
+ name: vcr
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
- - - ~>
75
+ - - "~>"
74
76
  - !ruby/object:Gem::Version
75
- version: '2.13'
77
+ version: '5.1'
76
78
  type: :development
77
79
  prerelease: false
78
80
  version_requirements: !ruby/object:Gem::Requirement
79
81
  requirements:
80
- - - ~>
82
+ - - "~>"
81
83
  - !ruby/object:Gem::Version
82
- version: '2.13'
84
+ version: '5.1'
83
85
  description: Client library for accessing the EasyPost shipping API via Ruby.
84
- email: contact@easypost.com
86
+ email: support@easypost.com
85
87
  executables:
86
88
  - easypost-irb
87
89
  extensions: []
88
90
  extra_rdoc_files: []
89
91
  files:
90
- - .gitignore
92
+ - ".gitignore"
93
+ - ".travis.yml"
91
94
  - CHANGELOG
92
95
  - Gemfile
93
96
  - LICENSE
@@ -95,13 +98,11 @@ files:
95
98
  - Rakefile
96
99
  - VERSION
97
100
  - bin/easypost-irb
98
- - circle.yml
99
101
  - easypost.gemspec
100
102
  - lib/easypost.rb
101
103
  - lib/easypost/address.rb
102
104
  - lib/easypost/batch.rb
103
105
  - lib/easypost/carrier_account.rb
104
- - lib/easypost/container.rb
105
106
  - lib/easypost/customs_info.rb
106
107
  - lib/easypost/customs_item.rb
107
108
  - lib/easypost/error.rb
@@ -127,24 +128,9 @@ files:
127
128
  - lib/easypost/util.rb
128
129
  - lib/easypost/version.rb
129
130
  - lib/easypost/webhook.rb
130
- - spec/address_spec.rb
131
- - spec/batch_spec.rb
132
- - spec/carrier_account_spec.rb
133
- - spec/container_spec.rb
134
- - spec/insurance_spec.rb
135
- - spec/item_spec.rb
136
- - spec/order_spec.rb
137
- - spec/pickup_spec.rb
138
- - spec/report_spec.rb
139
- - spec/scan_form_spec.rb
140
- - spec/shipment_spec.rb
141
- - spec/spec_helper.rb
142
- - spec/support/constant.rb
143
- - spec/tracker_spec.rb
144
- - spec/user_spec.rb
145
- - spec/webhook_spec.rb
146
131
  homepage: https://www.easypost.com/docs
147
- licenses: []
132
+ licenses:
133
+ - MIT
148
134
  metadata: {}
149
135
  post_install_message:
150
136
  rdoc_options: []
@@ -152,34 +138,18 @@ require_paths:
152
138
  - lib
153
139
  required_ruby_version: !ruby/object:Gem::Requirement
154
140
  requirements:
155
- - - '>='
141
+ - - "~>"
156
142
  - !ruby/object:Gem::Version
157
- version: '0'
143
+ version: '2.2'
158
144
  required_rubygems_version: !ruby/object:Gem::Requirement
159
145
  requirements:
160
- - - '>='
146
+ - - ">="
161
147
  - !ruby/object:Gem::Version
162
148
  version: '0'
163
149
  requirements: []
164
150
  rubyforge_project:
165
- rubygems_version: 2.0.14.1
151
+ rubygems_version: 2.2.2
166
152
  signing_key:
167
153
  specification_version: 4
168
154
  summary: EasyPost Ruby Client Library
169
- test_files:
170
- - spec/address_spec.rb
171
- - spec/batch_spec.rb
172
- - spec/carrier_account_spec.rb
173
- - spec/container_spec.rb
174
- - spec/insurance_spec.rb
175
- - spec/item_spec.rb
176
- - spec/order_spec.rb
177
- - spec/pickup_spec.rb
178
- - spec/report_spec.rb
179
- - spec/scan_form_spec.rb
180
- - spec/shipment_spec.rb
181
- - spec/spec_helper.rb
182
- - spec/support/constant.rb
183
- - spec/tracker_spec.rb
184
- - spec/user_spec.rb
185
- - spec/webhook_spec.rb
155
+ test_files: []
data/circle.yml DELETED
@@ -1,3 +0,0 @@
1
- machine:
2
- ruby:
3
- version: 2.0.0
@@ -1,4 +0,0 @@
1
- module EasyPost
2
- class Container < Resource
3
- end
4
- end
@@ -1,81 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe EasyPost::Address do
4
- describe ".create_and_verify" do
5
- context "for a successful response without an address" do
6
- it "should raise an error" do
7
- expect(EasyPost).to receive(:request).and_return([{}, ""])
8
- expect {
9
- EasyPost::Address.create_and_verify(ADDRESS[:california])
10
- }.to raise_error EasyPost::Error, /Unable to verify addres/
11
- end
12
- end
13
- end
14
-
15
- describe '#create' do
16
- it 'creates an address object' do
17
- address = EasyPost::Address.create(ADDRESS[:california])
18
-
19
- expect(address).to be_an_instance_of(EasyPost::Address)
20
- expect(address.company).to eq('EasyPost')
21
- end
22
- end
23
-
24
- describe '#verify' do
25
- it 'verifies an address with an error' do
26
- address = EasyPost::Address.create(
27
- ADDRESS[:california].reject {|k,v| k == :street1 || k == :company}
28
- )
29
-
30
- expect(address.street1).to be_nil
31
- expect(address.street2).to eq('Unit 1')
32
- expect(address.city).to eq('San Francisco')
33
- expect(address.state).to eq('CA')
34
- expect(address.zip).to eq('94107')
35
- expect(address.country).to eq('US')
36
-
37
- expect {
38
- address.verify()
39
- }.to raise_error EasyPost::Error, /Unable to verify addres/
40
- end
41
-
42
- it 'verifies an address without message' do
43
- address = EasyPost::Address.create(ADDRESS[:california])
44
-
45
- expect(address.street2).to be
46
-
47
- verified_address = address.verify()
48
- expect(verified_address).to be_an_instance_of(EasyPost::Address)
49
- expect(verified_address[:message]).to be_nil
50
- end
51
-
52
- it 'verifies an address using a carrier' do
53
- address = EasyPost::Address.create(ADDRESS[:california])
54
-
55
- expect(address.company).to eq('EasyPost')
56
- expect(address.street1).to eq('164 Townsend Street')
57
- expect(address.city).to eq('San Francisco')
58
- expect(address.state).to eq('CA')
59
- expect(address.zip).to eq('94107')
60
- expect(address.country).to eq('US')
61
-
62
- verified_address = address.verify(carrier: :usps)
63
- expect(verified_address).to be_an_instance_of(EasyPost::Address)
64
- end
65
-
66
- it 'is not able to verify address' do
67
- address = EasyPost::Address.create(
68
- company: 'Simpler Postage Inc',
69
- street1: '388 Junk Teerts',
70
- street2: 'Apt 20',
71
- city: 'San Francisco',
72
- state: 'CA',
73
- zip: '941abc07'
74
- )
75
-
76
- expect {
77
- address.verify()
78
- }.to raise_error(EasyPost::Error, /Unable to verify addres/)
79
- end
80
- end
81
- end
@@ -1,48 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe EasyPost::Batch do
4
- describe '#create' do
5
- it 'creates a batch object' do
6
- batch = EasyPost::Batch.create({
7
- shipment: [{
8
- from_address: ADDRESS[:california],
9
- to_address: EasyPost::Address.create(ADDRESS[:missouri]),
10
- parcel: EasyPost::Parcel.create(PARCEL[:dimensions])
11
- }, {
12
- from_address: ADDRESS[:california],
13
- to_address: EasyPost::Address.create(ADDRESS[:canada]),
14
- parcel: EasyPost::Parcel.create(PARCEL[:dimensions]),
15
- }],
16
- reference: "batch123456789"
17
- })
18
- expect(batch).to be_an_instance_of(EasyPost::Batch)
19
- expect(batch.num_shipments).to eq(2)
20
- expect(batch.reference).to eq("batch123456789")
21
- expect(batch.state).to eq("creating")
22
- end
23
- end
24
-
25
- describe '#create_and_buy' do
26
- it 'creates a batch object and delayed jobs for purchasing the postage_labels' do
27
- batch = EasyPost::Batch.create({
28
- shipment: [{
29
- from_address: ADDRESS[:california],
30
- to_address: EasyPost::Address.create(ADDRESS[:missouri]),
31
- parcel: EasyPost::Parcel.create(PARCEL[:dimensions]),
32
- carrier: "usps",
33
- service: "priority"
34
- }, {
35
- from_address: ADDRESS[:california],
36
- to_address: EasyPost::Address.create(ADDRESS[:canada]),
37
- parcel: EasyPost::Parcel.create(PARCEL[:dimensions]),
38
- carrier: "usps",
39
- service: "prioritymailinternational"
40
- }],
41
- reference: "batch123456789"
42
- })
43
- expect(batch).to be_an_instance_of(EasyPost::Batch)
44
- expect(batch.state).to eq("creating")
45
- expect(batch.num_shipments).to eq(2)
46
- end
47
- end
48
- end
@@ -1,121 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe EasyPost::CarrierAccount do
4
- before do
5
- EasyPost.api_key = "PRODUCTION API KEY"
6
- end
7
-
8
- # it 'performs retrieve on a carrier account' do
9
- # id = 'ca_r8hLl9jS'
10
- # ca = EasyPost::CarrierAccount.retrieve(id)
11
- #
12
- # expect(ca.id).to eq(id)
13
- # end
14
- #
15
- # context 'perform CRUD functions' do
16
- # it 'performs all basic CRUD actions on a CarrierAccount' do
17
- # original_num_cas = EasyPost::CarrierAccount.all.count
18
- #
19
- # description = "A test Ups Account"
20
- # reference = "RubyClientUpsTestAccount"
21
- #
22
- # created_ca = EasyPost::CarrierAccount.create(
23
- # type: "UpsAccount",
24
- # description: description,
25
- # reference: reference,
26
- # credentials: {
27
- # account_number: "A1A1A1",
28
- # user_id: "UPSDOTCOM_USERNAME",
29
- # password: "UPSDOTCOM_PASSWORD",
30
- # access_license_number: "UPS_ACCESS_LICENSE_NUMBER"
31
- # }
32
- # )
33
- #
34
- # id = created_ca["id"]
35
- #
36
- # interm_num_cas = EasyPost::CarrierAccount.all.count
37
- # expect(interm_num_cas).to eq(original_num_cas + 1)
38
- #
39
- # retrieved_ca = EasyPost::CarrierAccount.retrieve(id)
40
- #
41
- # expect(retrieved_ca["id"]).to eq(created_ca["id"])
42
- # expect(retrieved_ca["description"]).to eq(description)
43
- # expect(retrieved_ca["reference"]).to eq(reference)
44
- #
45
- # updated_description = "An updated description for a test Ups Account"
46
- # updated_account_number = "B2B2B2B2"
47
- # retrieved_ca.description = updated_description
48
- # retrieved_ca.credentials = {
49
- # account_number: updated_account_number,
50
- # user_id: "UPSDOTCOM_USERNAME",
51
- # password: "UPSDOTCOM_PASSWORD",
52
- # access_license_number: "UPS_ACCESS_LICENSE_NUMBER"
53
- # }
54
- # retrieved_ca.save
55
- #
56
- # updated_ca = EasyPost::CarrierAccount.retrieve(id)
57
- # expect(updated_ca["id"]).to eq(created_ca["id"])
58
- # expect(updated_ca["description"]).to eq(updated_description)
59
- # expect(updated_ca["credentials"]["account_number"]).to eq(updated_account_number)
60
- #
61
- # reupdated_account_number = "C3C3C3C3C3"
62
- # updated_user_id = "A_NEW_UPS_USERNAME"
63
- # updated_ca.credentials[:account_number] = reupdated_account_number
64
- # updated_ca.credentials[:user_id] = updated_user_id
65
- # updated_ca.save
66
- #
67
- # reupdated_ca = EasyPost::CarrierAccount.retrieve(id)
68
- # expect(reupdated_ca["id"]).to eq(created_ca["id"])
69
- # expect(reupdated_ca["credentials"]["account_number"]).to eq(reupdated_account_number)
70
- # expect(reupdated_ca["credentials"]["user_id"]).to eq(updated_user_id)
71
- #
72
- # final_ca = reupdated_ca.save
73
- # expect(final_ca["id"]).to eq(created_ca["id"])
74
- # expect(final_ca["credentials"]["account_number"]).to eq(reupdated_account_number)
75
- # expect(final_ca["credentials"]["user_id"]).to eq(updated_user_id)
76
- #
77
- # final_ca.delete
78
- #
79
- # final_num_cas = EasyPost::CarrierAccount.all.count
80
- # expect(final_num_cas).to eq(original_num_cas)
81
- # end
82
- # end
83
- #
84
- # describe '#types' do
85
- # let(:carrier_account_types) { [
86
- # "AsendiaAccount",
87
- # "AustraliaPostAccount",
88
- # "CanadaPostAccount",
89
- # "CanparAccount",
90
- # "ColisPriveAccount",
91
- # "DhlExpressAccount",
92
- # "DhlGlobalMailAccount",
93
- # "FastwayAccount",
94
- # "FedexAccount",
95
- # "FedexSmartpostAccount",
96
- # "GsoAccount",
97
- # "LasershipAccount",
98
- # "LsoAccount",
99
- # "NorcoAccount",
100
- # "NzpostAccount",
101
- # "OntracAccount",
102
- # "PurolatorAccount",
103
- # "RoyalMailAccount",
104
- # "SpeedeeAccount",
105
- # "TntExpressAccount",
106
- # "UpsAccount",
107
- # "UpsMailInnovationsAccount",
108
- # "UpsSurepostAccount"
109
- # ] }
110
- #
111
- # it 'returns the expected list of types' do
112
- # types = EasyPost::CarrierAccount.types
113
- # account_types = types.map(&:type)
114
- #
115
- # for account_type in carrier_account_types
116
- # expect(account_types).to include(account_type)
117
- # end
118
- # end
119
- # end
120
- end
121
-