easypost 6.0.0 → 6.1.1

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: 78ff932eb3d904ba184e444260e54f89bc1130fa7a93f5483c3a322071035d99
4
+ data.tar.gz: 51fd77d26ae8bb1351880956a47cdcd1529c84e51f26a209b125e28a67b6fa9f
5
5
  SHA512:
6
- metadata.gz: b7337d5099aa61da9c7bf21ce1c7d9fe9c6e9b9f011ab615949934e6e42b192785f87481cadfcbd1e244d682f323edbfd6a42e6df409b900749e92d83d474c63
7
- data.tar.gz: fee3c31633179b4337ded644d83e61d4b7f776ac873954cf01b1f1c613044c8cdf46cd34b1f3a8a40333823050ff78eb0c432c6db1fe269adc113acc79efeae9
6
+ metadata.gz: 21b04b15fa14c1f82bdaf7b208201f66f186c8c5b6adc4d1a4e9040e93232b9c4f3793f0a5064eaaafca269818a75e2e7b33c6cb0476793da48735d087045da3
7
+ data.tar.gz: 15525784bb626e44c1469513ebc16663b8f8b0c882c46270514783118f21dc6b7b2afb4ec092fedfb0eae17325acb46a671292db385fae7a2dffca58de7d1ec9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v6.1.1 (2024-01-23)
4
+
5
+ - Fix issues funding wallet due to invalid internal function call
6
+
7
+ ## v6.1.0 (2024-01-08)
8
+
9
+ - Add `all_children` and `get_next_page_of_children` in `user` service
10
+
3
11
  ## v6.0.0 (2023-12-06)
4
12
 
5
13
  - 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
@@ -40,8 +40,9 @@ publish:
40
40
 
41
41
  ## release - Cuts a release for the project on GitHub (requires GitHub CLI)
42
42
  # tag = The associated tag title of the release
43
+ # target = Target branch or full commit SHA
43
44
  release:
44
- gh release create ${tag} dist/*
45
+ gh release create ${tag} dist/* --target ${target}
45
46
 
46
47
  ## rubocop - lints the project with rubocop
47
48
  rubocop:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.0.0
1
+ 6.1.1
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'
@@ -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
+
66
+ unless payment_method_id.nil?
67
+ if payment_method_id.start_with?('card_')
68
+ endpoint = '/credit_cards'
69
+ elsif payment_method_id.start_with?('bank_')
70
+ endpoint = '/bank_accounts'
71
+ else
72
+ raise EasyPost::Errors::InvalidObjectError.new(error_string)
73
+ end
74
+ end
75
+
76
+ [endpoint, payment_method_id]
77
+ end
76
78
  end
@@ -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
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.1.1
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-01-23 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
@@ -352,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
338
  - !ruby/object:Gem::Version
353
339
  version: '0'
354
340
  requirements: []
355
- rubygems_version: 3.4.10
341
+ rubygems_version: 3.5.4
356
342
  signing_key:
357
343
  specification_version: 4
358
344
  summary: EasyPost Ruby Client Library