easypost 6.0.0 → 6.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d84472fd17512bf9f3c4a2a670a025e76154bbe93fffa5a8e9139309af4feac2
4
- data.tar.gz: 4c7c6df535c2700e54751e878e239ba689be42faec299993a19993d6ceb2fc0f
3
+ metadata.gz: 643a95f0b48e9abedc30e67d868ec3538d8d896b9c385734966805c83e72bd90
4
+ data.tar.gz: a532de25388ea110f152e77205bea2104228e83e7279dc66d0b500238d5b8416
5
5
  SHA512:
6
- metadata.gz: b7337d5099aa61da9c7bf21ce1c7d9fe9c6e9b9f011ab615949934e6e42b192785f87481cadfcbd1e244d682f323edbfd6a42e6df409b900749e92d83d474c63
7
- data.tar.gz: fee3c31633179b4337ded644d83e61d4b7f776ac873954cf01b1f1c613044c8cdf46cd34b1f3a8a40333823050ff78eb0c432c6db1fe269adc113acc79efeae9
6
+ metadata.gz: 94b9cf67261d5c9bba01183812bef018d0b4918cc5f3593befdff2884095816299585bf33d86ee0de14015814c53ddd2911b9de85692c9c73421e1133cd57605
7
+ data.tar.gz: ba8c81ed037de3ccad7441eba06111eefb7430e69ac36169dd3409efa7965a092b18bc114d3767610dcb15453a6bfeed584073f35a986214b96f5eab4c6e2dcb
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- rubyversion: ['2.6', '2.7', '3.0', '3.1', '3.2']
14
+ rubyversion: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
15
15
  steps:
16
16
  - name: Checkout Repository
17
17
  uses: actions/checkout@v3
@@ -19,7 +19,7 @@ jobs:
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
21
21
  ruby-version: ${{ matrix.rubyversion }}
22
- rubygems: '3.0.0'
22
+ rubygems: '3.3.0'
23
23
  bundler-cache: true
24
24
  - name: Install Dependencies
25
25
  run: make install
@@ -39,8 +39,8 @@ jobs:
39
39
  - name: Set up Ruby
40
40
  uses: ruby/setup-ruby@v1
41
41
  with:
42
- ruby-version: '3.2'
43
- rubygems: '3.0.0'
42
+ ruby-version: '3.3'
43
+ rubygems: '3.3.0'
44
44
  bundler-cache: true
45
45
  - name: Install Dependencies
46
46
  run: make install
@@ -57,8 +57,8 @@ jobs:
57
57
  - name: Set up Ruby
58
58
  uses: ruby/setup-ruby@v1
59
59
  with:
60
- ruby-version: '3.2'
61
- rubygems: '3.0.0'
60
+ ruby-version: '3.3'
61
+ rubygems: '3.3.0'
62
62
  bundler-cache: true
63
63
  - name: Install Dependencies
64
64
  run: make install
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v6.4.0 (2024-07-24)
4
+
5
+ - Adds new `Claim` service for filing claims on EasyPost shipments and insurances
6
+
7
+ ## v6.3.0 (2024-07-12)
8
+
9
+ - Adds new `shipment.recommend_ship_date`, `smartrate.recommend_ship_date`, and `smartrate.estimate_delivery_date` functions
10
+ - Routes `UpsAccount`, `UpsMailInnovationsAccount`, and `UpsSurepostAccount` create/update requests to the new `/ups_oauth_registrations` endpoint
11
+ - Starting `2024-08-05`, UPS accounts will require a new payload to register or update. See [UPS OAuth 2.0 Update](https://support.easypost.com/hc/en-us/articles/26635027512717-UPS-OAuth-2-0-Update?utm_medium=email&_hsenc=p2ANqtz-96MmFtWICOzy9sKRbbcZSiMovZSrY3MSX1_bgY9N3f9yLVfWQdLhjAGq-SmNcOnDIS6GYhZ0OApjDBrGkKyLLMx1z6_TFOVp6-wllhEFQINrkuRuc&_hsmi=313130292&utm_content=313130292&utm_source=hs_email) for more details
12
+
13
+ ## v6.2.0 (2024-04-10)
14
+
15
+ - Fix payment method funding and deletion failures due to undetermined payment method type
16
+ - Add `refund` function in Insurance service for requesting a refund for standalone insurance.
17
+
18
+ ## v6.1.1 (2024-01-23)
19
+
20
+ - Fix issues funding wallet due to invalid internal function call
21
+
22
+ ## v6.1.0 (2024-01-08)
23
+
24
+ - Add `all_children` and `get_next_page_of_children` in `user` service
25
+
3
26
  ## v6.0.0 (2023-12-06)
4
27
 
5
28
  - Removes `with_carbon_offset` parameter from `create`, `buy` and `regenerate_rates` methods in the shipment service since now EasyPost offers carbon neutral shipments by default for free
data/Makefile CHANGED
@@ -24,8 +24,13 @@ docs:
24
24
  install-styleguide: | update-examples-submodule
25
25
  sh examples/symlink_directory_files.sh examples/style_guides/ruby .
26
26
 
27
+ ## init-examples-submodule - Initialize the examples submodule
28
+ init-examples-submodule:
29
+ git submodule init
30
+ git submodule update
31
+
27
32
  ## install - Install globally from source
28
- install: | update-examples-submodule
33
+ install: | init-examples-submodule
29
34
  bundle install
30
35
 
31
36
  ## lint - Lint the project
@@ -40,8 +45,9 @@ publish:
40
45
 
41
46
  ## release - Cuts a release for the project on GitHub (requires GitHub CLI)
42
47
  # tag = The associated tag title of the release
48
+ # target = Target branch or full commit SHA
43
49
  release:
44
- gh release create ${tag} dist/*
50
+ gh release create ${tag} dist/* --target ${target}
45
51
 
46
52
  ## rubocop - lints the project with rubocop
47
53
  rubocop:
data/README.md CHANGED
@@ -163,7 +163,7 @@ If you're using a custom HTTP connection, keep in mind that the `response_data`
163
163
 
164
164
  ## Documentation
165
165
 
166
- API documentation can be found at: <https://easypost.com/docs/api>.
166
+ API documentation can be found at: <https://docs.easypost.com>.
167
167
 
168
168
  Library documentation can be found on the web at: <https://easypost.github.io/easypost-ruby/> or by building them locally via the `make docs` command.
169
169
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.0.0
1
+ 6.4.0
data/easypost.gemspec CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'brakeman', '~> 5.4'
25
25
  spec.add_development_dependency 'faraday', '~> 2.7.5' # used for integration tests
26
26
  spec.add_development_dependency 'pry', '~> 0.14'
27
- spec.add_development_dependency 'psych', '~> 5.1'
28
27
  spec.add_development_dependency 'rake', '~> 13.0'
29
28
  spec.add_development_dependency 'rdoc', '~> 6.5'
30
29
  spec.add_development_dependency 'rspec', '~> 3.12'
@@ -42,6 +42,7 @@ class EasyPost::Client
42
42
  EasyPost::Services::CarrierAccount,
43
43
  EasyPost::Services::CarrierMetadata,
44
44
  EasyPost::Services::CarrierType,
45
+ EasyPost::Services::Claim,
45
46
  EasyPost::Services::CustomsInfo,
46
47
  EasyPost::Services::CustomsItem,
47
48
  EasyPost::Services::EndShipper,
@@ -56,6 +57,7 @@ class EasyPost::Client
56
57
  EasyPost::Services::Report,
57
58
  EasyPost::Services::ScanForm,
58
59
  EasyPost::Services::Shipment,
60
+ EasyPost::Services::SmartRate,
59
61
  EasyPost::Services::Tracker,
60
62
  EasyPost::Services::User,
61
63
  EasyPost::Services::Webhook,
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The Claim object has all the details for the filed claims
4
+ class EasyPost::Models::Claim < EasyPost::Models::EasyPostObject
5
+ end
@@ -10,6 +10,7 @@ require_relative 'models/batch'
10
10
  require_relative 'models/brand'
11
11
  require_relative 'models/carrier_account'
12
12
  require_relative 'models/carrier_type'
13
+ require_relative 'models/claim'
13
14
  require_relative 'models/customs_info'
14
15
  require_relative 'models/customs_item'
15
16
  require_relative 'models/end_shipper'
@@ -10,8 +10,11 @@ class EasyPost::Services::Service
10
10
 
11
11
  protected
12
12
 
13
- def get_all_helper(endpoint, cls, params, filters = nil)
14
- response = @client.make_request(:get, endpoint, params)
13
+ def get_all_helper(endpoint, cls, params, filters = nil, beta = false)
14
+ response = @client.make_request(
15
+ :get, endpoint, params,
16
+ beta ? 'beta' : EasyPost::InternalUtilities::Constants::API_VERSION,
17
+ )
15
18
 
16
19
  response[EasyPost::InternalUtilities::Constants::FILTERS_KEY] = filters unless filters.nil?
17
20
 
@@ -3,43 +3,9 @@
3
3
  require 'easypost/constants'
4
4
 
5
5
  class EasyPost::Services::Billing < EasyPost::Services::Service
6
- # Get payment method info (type of the payment method and ID of the payment method)
7
- def self.get_payment_method_info(priority)
8
- payment_methods = EasyPost::Services::Billing.retrieve_payment_methods
9
- payment_method_map = {
10
- 'primary' => 'primary_payment_method',
11
- 'secondary' => 'secondary_payment_method',
12
- }
13
-
14
- payment_method_to_use = payment_method_map[priority]
15
-
16
- error_string = EasyPost::Constants::INVALID_PAYMENT_METHOD
17
- suggestion = "Please use a valid payment method: #{payment_method_map.keys.join(', ')}"
18
- if payment_methods[payment_method_to_use].nil?
19
- raise EasyPost::Errors::InvalidParameterError.new(
20
- error_string,
21
- suggestion,
22
- )
23
- end
24
-
25
- payment_method_id = payment_methods[payment_method_to_use]['id']
26
-
27
- unless payment_method_id.nil?
28
- if payment_method_id.start_with?('card_')
29
- endpoint = '/v2/credit_cards'
30
- elsif payment_method_id.start_with?('bank_')
31
- endpoint = '/v2/bank_accounts'
32
- else
33
- raise EasyPost::Errors::InvalidObjectError.new(error_string)
34
- end
35
- end
36
-
37
- [endpoint, payment_method_id]
38
- end
39
-
40
6
  # Fund your EasyPost wallet by charging your primary or secondary card on file.
41
7
  def fund_wallet(amount, priority = 'primary')
42
- payment_info = EasyPost::Services::Billing.get_payment_method_info(priority.downcase)
8
+ payment_info = get_payment_method_info(priority.downcase)
43
9
  endpoint = payment_info[0]
44
10
  payment_id = payment_info[1]
45
11
 
@@ -52,7 +18,7 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
52
18
 
53
19
  # Delete a payment method.
54
20
  def delete_payment_method(priority)
55
- payment_info = EasyPost::Services::Billing.get_payment_method_info(priority.downcase)
21
+ payment_info = get_payment_method_info(priority.downcase)
56
22
  endpoint = payment_info[0]
57
23
  payment_id = payment_info[1]
58
24
 
@@ -64,7 +30,7 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
64
30
 
65
31
  # Retrieve all payment methods.
66
32
  def retrieve_payment_methods
67
- response = @client.make_request(:get, '/v2/payment_methods')
33
+ response = @client.make_request(:get, '/payment_methods')
68
34
  payment_methods = EasyPost::InternalUtilities::Json.convert_json_to_object(response)
69
35
 
70
36
  if payment_methods['id'].nil?
@@ -73,4 +39,40 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
73
39
 
74
40
  payment_methods
75
41
  end
42
+
43
+ private
44
+
45
+ # Get payment method info (type of the payment method and ID of the payment method)
46
+ def get_payment_method_info(priority)
47
+ payment_methods = retrieve_payment_methods
48
+ payment_method_map = {
49
+ 'primary' => 'primary_payment_method',
50
+ 'secondary' => 'secondary_payment_method',
51
+ }
52
+
53
+ payment_method_to_use = payment_method_map[priority]
54
+
55
+ error_string = EasyPost::Constants::INVALID_PAYMENT_METHOD
56
+ suggestion = "Please use a valid payment method: #{payment_method_map.keys.join(', ')}"
57
+ if payment_methods[payment_method_to_use].nil?
58
+ raise EasyPost::Errors::InvalidParameterError.new(
59
+ error_string,
60
+ suggestion,
61
+ )
62
+ end
63
+
64
+ payment_method_id = payment_methods[payment_method_to_use]['id']
65
+ payment_method_object_type = payment_methods[payment_method_to_use]['object']
66
+
67
+ if payment_method_object_type == 'CreditCard'
68
+
69
+ endpoint = '/credit_cards'
70
+ elsif payment_method_object_type == 'BankAccount'
71
+ endpoint = '/bank_accounts'
72
+ else
73
+ raise EasyPost::Errors::InvalidObjectError.new(error_string)
74
+ end
75
+
76
+ [endpoint, payment_method_id]
77
+ end
76
78
  end
@@ -1,16 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
4
- CUSTOM_WORKFLOW_CARRIER_TYPES = %w[UpsAccount FedexAccount FedexSmartpostAccount].freeze
4
+ CUSTOM_WORKFLOW_CARRIER_TYPES = %w[FedexAccount FedexSmartpostAccount].freeze
5
+ UPS_OAUTH_CARRIER_ACCOUNT_TYPES = %w[UpsAccount UpsMailInnovationsAccount UpsSurepostAccount].freeze
5
6
  MODEL_CLASS = EasyPost::Models::CarrierAccount
6
7
 
7
8
  # Create a carrier account
8
9
  def create(params = {})
9
- wrapped_params = { carrier_account: params }
10
+ carrier_account_type = params[:type]
11
+ wrapped_params = { select_top_layer_key(carrier_account_type).to_sym => params }
10
12
 
11
13
  # For UPS and FedEx the endpoint is different
12
- create_url = if CUSTOM_WORKFLOW_CARRIER_TYPES.include?(params[:type])
14
+ create_url = if CUSTOM_WORKFLOW_CARRIER_TYPES.include?(carrier_account_type)
13
15
  'carrier_accounts/register'
16
+ elsif UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(carrier_account_type)
17
+ 'ups_oauth_registrations'
14
18
  else
15
19
  'carrier_accounts'
16
20
  end
@@ -33,8 +37,14 @@ class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
33
37
 
34
38
  # Update a carrier account
35
39
  def update(id, params = {})
36
- wrapped_params = { carrier_account: params }
37
- response = @client.make_request(:put, "carrier_accounts/#{id}", wrapped_params)
40
+ carrier_account = retrieve(id)
41
+ wrapped_params = { select_top_layer_key(carrier_account[:type]).to_sym => params }
42
+ update_url = if UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(params[:type])
43
+ 'ups_oauth_registrations/'
44
+ else
45
+ 'carrier_accounts/'
46
+ end
47
+ response = @client.make_request(:put, "#{update_url}#{id}", wrapped_params)
38
48
 
39
49
  EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
40
50
  end
@@ -46,4 +56,15 @@ class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
46
56
  # Return true if succeeds, an error will be thrown if it fails
47
57
  true
48
58
  end
59
+
60
+ private
61
+
62
+ # Select the top-layer key for the carrier account creation/update request based on the carrier type.
63
+ def select_top_layer_key(carrier_account_type)
64
+ if UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(carrier_account_type)
65
+ 'ups_oauth_registrations'
66
+ else
67
+ 'carrier_account'
68
+ end
69
+ end
49
70
  end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ class EasyPost::Services::Claim < EasyPost::Services::Service
4
+ MODEL_CLASS = EasyPost::Models::Claim
5
+
6
+ # Create an Claim object
7
+ def create(params = {})
8
+ response = @client.make_request(:post, 'claims', params)
9
+
10
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
11
+ end
12
+
13
+ # Retrieve an Claim object
14
+ def retrieve(id)
15
+ response = @client.make_request(:get, "claims/#{id}", nil)
16
+
17
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
18
+ end
19
+
20
+ # Retrieve all Claim objects
21
+ def all(params = {})
22
+ filters = { key: 'claims' }
23
+
24
+ get_all_helper('claims', MODEL_CLASS, params, filters)
25
+ end
26
+
27
+ # Get the next page of claims.
28
+ def get_next_page(collection, page_size = nil)
29
+ raise EasyPost::Errors::EndOfPaginationError.new unless more_pages?(collection)
30
+
31
+ params = { before_id: collection.claims.last.id }
32
+ params[:page_size] = page_size unless page_size.nil?
33
+
34
+ all(params)
35
+ end
36
+
37
+ # Cancel a filed claim
38
+ def cancel(id)
39
+ response = @client.make_request(:post, "claims/#{id}/cancel", nil)
40
+
41
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
42
+ end
43
+ end
@@ -34,4 +34,11 @@ class EasyPost::Services::Insurance < EasyPost::Services::Service
34
34
 
35
35
  all(params)
36
36
  end
37
+
38
+ # Refund an Insurance object
39
+ def refund(id)
40
+ response = @client.make_request(:post, "insurances/#{id}/refund")
41
+
42
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
43
+ end
37
44
  end
@@ -118,4 +118,13 @@ class EasyPost::Services::Shipment < EasyPost::Services::Service
118
118
 
119
119
  EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS).rates
120
120
  end
121
+
122
+ # Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API, based on a specific desired delivery date.
123
+ def recommend_ship_date(id, desired_delivery_date)
124
+ url = "shipments/#{id}/smartrate/precision_shipping"
125
+ params = { desired_delivery_date: desired_delivery_date }
126
+ response = @client.make_request(:get, url, params)
127
+
128
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS).rates
129
+ end
121
130
  end
@@ -0,0 +1,19 @@
1
+ class EasyPost::Services::SmartRate < EasyPost::Services::Service
2
+ # Retrieve the estimated delivery date of each carrier-service level combination via the
3
+ # Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.
4
+ def estimate_delivery_date(params = {})
5
+ url = 'smartrate/deliver_by'
6
+
7
+ response = @client.make_request(:post, url, params)
8
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::EasyPostObject)
9
+ end
10
+
11
+ # Retrieve a recommended ship date for each carrier-service level combination via the
12
+ # Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.
13
+ def recommend_ship_date(params = {})
14
+ url = 'smartrate/deliver_on'
15
+
16
+ response = @client.make_request(:post, url, params)
17
+ EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::EasyPostObject)
18
+ end
19
+ end
@@ -30,6 +30,7 @@ class EasyPost::Services::Tracker < EasyPost::Services::Service
30
30
  end
31
31
 
32
32
  # Create multiple Tracker objects in bulk.
33
+ # <b>DEPRECATED:</b> Please use <tt>create</tt> instead. This function will be removed in a future release.
33
34
  def create_list(params = {})
34
35
  wrapped_params = { 'trackers' => params }
35
36
 
@@ -78,4 +78,21 @@ Please use `retrieve_api_keys_for_user` in the `api_key` service instead.'
78
78
 
79
79
  EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::Brand)
80
80
  end
81
+
82
+ # Retrieve all child Users.
83
+ def all_children(params = {})
84
+ filters = { key: 'children' }
85
+
86
+ get_all_helper('users/children', EasyPost::Models::User, params, filters)
87
+ end
88
+
89
+ # Get the next page of child users.
90
+ def get_next_page_of_children(collection, page_size = nil)
91
+ raise EasyPost::Errors::EndOfPaginationError.new unless more_pages?(collection)
92
+
93
+ params = { before_id: collection.children.last.id }
94
+ params[:page_size] = page_size unless page_size.nil?
95
+
96
+ all_children(params)
97
+ end
81
98
  end
@@ -14,6 +14,7 @@ require_relative 'services/billing'
14
14
  require_relative 'services/carrier_account'
15
15
  require_relative 'services/carrier_metadata'
16
16
  require_relative 'services/carrier_type'
17
+ require_relative 'services/claim'
17
18
  require_relative 'services/customs_info'
18
19
  require_relative 'services/customs_item'
19
20
  require_relative 'services/end_shipper'
@@ -28,6 +29,7 @@ require_relative 'services/refund'
28
29
  require_relative 'services/report'
29
30
  require_relative 'services/scan_form'
30
31
  require_relative 'services/shipment'
32
+ require_relative 'services/smart_rate'
31
33
  require_relative 'services/tracker'
32
34
  require_relative 'services/user'
33
35
  require_relative 'services/webhook'
@@ -11,6 +11,7 @@ module EasyPost::InternalUtilities::StaticMapper
11
11
  'brd' => EasyPost::Models::Brand,
12
12
  'ca' => EasyPost::Models::CarrierAccount,
13
13
  'card' => EasyPost::Models::PaymentMethod,
14
+ 'clm' => EasyPost::Models::Claim,
14
15
  'cstinfo' => EasyPost::Models::CustomsInfo,
15
16
  'cstitem' => EasyPost::Models::CustomsItem,
16
17
  'es' => EasyPost::Models::EndShipper,
@@ -43,6 +44,7 @@ module EasyPost::InternalUtilities::StaticMapper
43
44
  'Batch' => EasyPost::Models::Batch,
44
45
  'Brand' => EasyPost::Models::Brand,
45
46
  'CarrierAccount' => EasyPost::Models::CarrierAccount,
47
+ 'Claim' => EasyPost::Models::Claim,
46
48
  'CreditCard' => EasyPost::Models::PaymentMethod,
47
49
  'CustomsInfo' => EasyPost::Models::CustomsInfo,
48
50
  'CustomsItem' => EasyPost::Models::CustomsItem,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easypost
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - EasyPost Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-06 00:00:00.000000000 Z
11
+ date: 2024-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brakeman
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.14'
55
- - !ruby/object:Gem::Dependency
56
- name: psych
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '5.1'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '5.1'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -276,6 +262,7 @@ files:
276
262
  - lib/easypost/models/brand.rb
277
263
  - lib/easypost/models/carrier_account.rb
278
264
  - lib/easypost/models/carrier_type.rb
265
+ - lib/easypost/models/claim.rb
279
266
  - lib/easypost/models/customs_info.rb
280
267
  - lib/easypost/models/customs_item.rb
281
268
  - lib/easypost/models/end_shipper.rb
@@ -310,6 +297,7 @@ files:
310
297
  - lib/easypost/services/carrier_account.rb
311
298
  - lib/easypost/services/carrier_metadata.rb
312
299
  - lib/easypost/services/carrier_type.rb
300
+ - lib/easypost/services/claim.rb
313
301
  - lib/easypost/services/customs_info.rb
314
302
  - lib/easypost/services/customs_item.rb
315
303
  - lib/easypost/services/end_shipper.rb
@@ -324,6 +312,7 @@ files:
324
312
  - lib/easypost/services/report.rb
325
313
  - lib/easypost/services/scan_form.rb
326
314
  - lib/easypost/services/shipment.rb
315
+ - lib/easypost/services/smart_rate.rb
327
316
  - lib/easypost/services/tracker.rb
328
317
  - lib/easypost/services/user.rb
329
318
  - lib/easypost/services/webhook.rb
@@ -352,7 +341,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
341
  - !ruby/object:Gem::Version
353
342
  version: '0'
354
343
  requirements: []
355
- rubygems_version: 3.4.10
344
+ rubygems_version: 3.3.3
356
345
  signing_key:
357
346
  specification_version: 4
358
347
  summary: EasyPost Ruby Client Library