easypost 6.0.0 → 6.4.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.
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