Skip to content

Commit 09eabd6

Browse files
authored
Merge pull request #321 from EasyPost/breaking_changes
!chore: breaking changes in prep for v7
2 parents 16a72ae + 80f0979 commit 09eabd6

10 files changed

Lines changed: 22 additions & 67 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
rubyversion: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
14+
rubyversion: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
1515
steps:
1616
- uses: actions/checkout@v4
1717
- uses: ruby/setup-ruby@v1

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
# CHANGELOG
22

3-
## Next Release (minor)
3+
## Next Release
44

55
- Adds Ruby 3.4 support
66
- Fixes error parsing
77
- Allows for alternative format of `errors` field
88
- Corrects available properties of an `EasyPostError` and `ApiError` (`code` and `field` removed from `EasyPostError`, `message` unfurled and explicitly added to `ApiError`)
99
- Removes unused `Error` model
1010
- Corrects the HTTP verb for updating a brand from `GET` to `PATCH`
11-
- Removes the deprecated `create_list` tracker endpoint function as it is no longer available via API
11+
- Removes deprecated `create_list` tracker endpoint function as it is no longer available via API
12+
- Removes deprecated `user.all_api_keys` and `user.api_keys`, use `api_key.all` and `api_key.retrieve_api_keys_for_user` respectively
13+
- Removes unmaintained and undocumented `irb`
14+
- Removes unused `Rakefile`
15+
- Bumps all dev dependencies
1216

1317
## v6.4.1 (2024-08-09)
1418

Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ clean:
1313
rm -rf coverage doc *.gem dist
1414

1515
## coverage - Generate a test coverage report
16-
coverage:
17-
make test
16+
coverage: test
1817

1918
## docs - Generate documentation for the library
2019
docs:

Rakefile

Lines changed: 0 additions & 3 deletions
This file was deleted.

bin/easypost-irb

Lines changed: 0 additions & 9 deletions
This file was deleted.

easypost.gemspec

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,23 @@ Gem::Specification.new do |spec|
1717
spec.files = `git ls-files -z`.split("\x0").reject do |f|
1818
f.match(%r{^(docs|examples|spec)/})
1919
end
20-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
2120
spec.require_paths = ['lib']
22-
spec.required_ruby_version = '>= 2.6'
21+
spec.required_ruby_version = '>= 2.7'
2322

2423
spec.add_development_dependency 'abbrev', '~> 0.1'
2524
spec.add_development_dependency 'benchmark', '~> 0.4'
2625
spec.add_development_dependency 'bigdecimal', '~> 3'
27-
spec.add_development_dependency 'brakeman', '~> 5.4'
28-
spec.add_development_dependency 'faraday', '~> 2.7.5' # used for integration tests
26+
spec.add_development_dependency 'brakeman', '~> 5.4' # can't upgrade to 6.x, requires Ruby 3.0
27+
spec.add_development_dependency 'faraday', '~> 2.8' # can't upgrade to 2.9, requires Ruby 3.0
2928
spec.add_development_dependency 'logger', '~> 1'
3029
spec.add_development_dependency 'ostruct', '~> 0.6'
31-
spec.add_development_dependency 'pry', '~> 0.14'
32-
spec.add_development_dependency 'rake', '~> 13.0'
33-
spec.add_development_dependency 'rdoc', '~> 6.9'
34-
spec.add_development_dependency 'rspec', '~> 3.12'
35-
spec.add_development_dependency 'rubocop', '~> 1.49'
36-
spec.add_development_dependency 'rubocop-rspec', '2.19' # pin to 2.19 because latest version doesn't support Ruby 2.6
30+
spec.add_development_dependency 'rdoc', '~> 6.12'
31+
spec.add_development_dependency 'rspec', '~> 3.13'
32+
spec.add_development_dependency 'rubocop', '= 1.73'
33+
spec.add_development_dependency 'rubocop-rspec', '2.31' # can't upgrade to 3.0, requires easycop config changes
3734
spec.add_development_dependency 'simplecov', '~> 0.22'
3835
spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
39-
spec.add_development_dependency 'typhoeus', '~> 1.4.0' # used for integration tests
40-
spec.add_development_dependency 'vcr', '~> 6.1'
41-
spec.add_development_dependency 'webmock', '~> 3.18'
36+
spec.add_development_dependency 'typhoeus', '~> 1.4'
37+
spec.add_development_dependency 'vcr', '~> 6.3'
38+
spec.add_development_dependency 'webmock', '~> 3.25'
4239
end

lib/easypost/services/report.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class EasyPost::Services::Report < EasyPost::Services::Service
66
# Create a Report
77
def create(params = {})
88
unless params[:type]
9-
raise ArgumentError, "Missing 'type' parameter in params" # TODO: replace the error in the error-handling overhaul PR
9+
raise EasyPost::Errors::MISSING_REQUIRED_PARAMETER.new('type')
1010
end
1111

1212
type = params.delete(:type)
@@ -26,7 +26,7 @@ def retrieve(id)
2626
# Retrieve all Report objects
2727
def all(params = {})
2828
unless params[:type]
29-
raise ArgumentError, "Missing 'type' parameter in params" # TODO: replace the error in the error-handling overhaul PR
29+
raise EasyPost::Errors::MISSING_REQUIRED_PARAMETER.new('type')
3030
end
3131

3232
type = params.delete(:type)

lib/easypost/services/user.rb

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -39,38 +39,6 @@ def delete(id)
3939
true
4040
end
4141

42-
# Retrieve a list of all ApiKey objects.
43-
def all_api_keys
44-
warn '[DEPRECATION] `all_api_keys` is deprecated. Please use `all` in the `api_key` service instead.'
45-
response = @client.make_request(:get, 'api_keys')
46-
47-
EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::ApiKey)
48-
end
49-
50-
# Retrieve a list of ApiKey objects (works for the authenticated user or a child user).
51-
def api_keys(id)
52-
warn '[DEPRECATION] `api_keys` is deprecated.
53-
Please use `retrieve_api_keys_for_user` in the `api_key` service instead.'
54-
55-
api_keys = all_api_keys
56-
57-
if api_keys.id == id
58-
# This function was called on the authenticated user
59-
my_api_keys = api_keys.keys
60-
else
61-
# This function was called on a child user (authenticated as parent, only return this child user's details).
62-
my_api_keys = []
63-
api_keys.children.each do |child|
64-
if child.id == id
65-
my_api_keys = child.keys
66-
break
67-
end
68-
end
69-
end
70-
71-
my_api_keys
72-
end
73-
7442
# Update the Brand of a User.
7543
def update_brand(id, params = {})
7644
wrapped_params = { brand: params }

spec/address_spec.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131

3232
# Delivery verification assertions
3333
expect(address.verifications.delivery.success).to be false
34-
# TODO: details is not deserializing correctly, related to the larger "double EasyPostObject" wrapping issue
35-
# expect(address.verifications.delivery.details).to be_empty
34+
expect(address.verifications.delivery.details.to_hash).to be_empty
3635
expect(address.verifications.delivery.errors[0].code).to eq('E.ADDRESS.NOT_FOUND')
3736
expect(address.verifications.delivery.errors[0].field).to eq('address')
3837
expect(address.verifications.delivery.errors[0].suggestion).to be nil

0 commit comments

Comments
 (0)