easypost 3.0.1 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: 3.0.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: 2018-05-17 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.7'
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.7'
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
92
  - ".gitignore"
93
+ - ".travis.yml"
91
94
  - CHANGELOG
92
95
  - Gemfile
93
96
  - LICENSE
@@ -95,7 +98,6 @@ 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
@@ -126,23 +128,9 @@ files:
126
128
  - lib/easypost/util.rb
127
129
  - lib/easypost/version.rb
128
130
  - lib/easypost/webhook.rb
129
- - spec/address_spec.rb
130
- - spec/batch_spec.rb
131
- - spec/carrier_account_spec.rb
132
- - spec/insurance_spec.rb
133
- - spec/item_spec.rb
134
- - spec/order_spec.rb
135
- - spec/pickup_spec.rb
136
- - spec/report_spec.rb
137
- - spec/scan_form_spec.rb
138
- - spec/shipment_spec.rb
139
- - spec/spec_helper.rb
140
- - spec/support/constant.rb
141
- - spec/tracker_spec.rb
142
- - spec/user_spec.rb
143
- - spec/webhook_spec.rb
144
131
  homepage: https://www.easypost.com/docs
145
- licenses: []
132
+ licenses:
133
+ - MIT
146
134
  metadata: {}
147
135
  post_install_message:
148
136
  rdoc_options: []
@@ -152,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
140
  requirements:
153
141
  - - "~>"
154
142
  - !ruby/object:Gem::Version
155
- version: '2.0'
143
+ version: '2.2'
156
144
  required_rubygems_version: !ruby/object:Gem::Requirement
157
145
  requirements:
158
146
  - - ">="
@@ -160,23 +148,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
148
  version: '0'
161
149
  requirements: []
162
150
  rubyforge_project:
163
- rubygems_version: 2.7.6
151
+ rubygems_version: 2.2.2
164
152
  signing_key:
165
153
  specification_version: 4
166
154
  summary: EasyPost Ruby Client Library
167
- test_files:
168
- - spec/address_spec.rb
169
- - spec/batch_spec.rb
170
- - spec/carrier_account_spec.rb
171
- - spec/insurance_spec.rb
172
- - spec/item_spec.rb
173
- - spec/order_spec.rb
174
- - spec/pickup_spec.rb
175
- - spec/report_spec.rb
176
- - spec/scan_form_spec.rb
177
- - spec/shipment_spec.rb
178
- - spec/spec_helper.rb
179
- - spec/support/constant.rb
180
- - spec/tracker_spec.rb
181
- - spec/user_spec.rb
182
- - 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,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
-