easypost 4.8.1 → 4.10.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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +5 -0
  3. data/.github/workflows/ci.yml +8 -0
  4. data/.gitignore +10 -14
  5. data/CHANGELOG.md +12 -0
  6. data/Makefile +10 -2
  7. data/README.md +7 -3
  8. data/VERSION +1 -1
  9. data/docs/EasyPost/Address.html +222 -0
  10. data/docs/EasyPost/ApiKey.html +99 -0
  11. data/docs/EasyPost/Batch.html +269 -0
  12. data/docs/EasyPost/Beta/EndShipper.html +225 -0
  13. data/docs/EasyPost/Beta/Referral.html +338 -0
  14. data/docs/EasyPost/Beta.html +91 -0
  15. data/docs/EasyPost/Billing.html +253 -0
  16. data/docs/EasyPost/Brand.html +140 -0
  17. data/docs/EasyPost/CarbonOffset.html +99 -0
  18. data/docs/EasyPost/CarrierAccount.html +136 -0
  19. data/docs/EasyPost/CarrierType.html +99 -0
  20. data/docs/EasyPost/CustomsInfo.html +136 -0
  21. data/docs/EasyPost/CustomsItem.html +136 -0
  22. data/docs/EasyPost/EasyPostObject.html +662 -0
  23. data/docs/EasyPost/EndShipper.html +175 -0
  24. data/docs/EasyPost/Error.html +258 -0
  25. data/docs/EasyPost/Event.html +136 -0
  26. data/docs/EasyPost/Insurance.html +99 -0
  27. data/docs/EasyPost/Order.html +222 -0
  28. data/docs/EasyPost/Parcel.html +136 -0
  29. data/docs/EasyPost/PaymentMethod.html +137 -0
  30. data/docs/EasyPost/Pickup.html +222 -0
  31. data/docs/EasyPost/PickupRate.html +99 -0
  32. data/docs/EasyPost/PostageLabel.html +99 -0
  33. data/docs/EasyPost/Rate.html +136 -0
  34. data/docs/EasyPost/Referral.html +334 -0
  35. data/docs/EasyPost/Refund.html +99 -0
  36. data/docs/EasyPost/Report.html +167 -0
  37. data/docs/EasyPost/Resource.html +399 -0
  38. data/docs/EasyPost/ScanForm.html +137 -0
  39. data/docs/EasyPost/Shipment.html +456 -0
  40. data/docs/EasyPost/TaxIdentifier.html +99 -0
  41. data/docs/EasyPost/Tracker.html +139 -0
  42. data/docs/EasyPost/User.html +307 -0
  43. data/docs/EasyPost/Util.html +462 -0
  44. data/docs/EasyPost/Webhook.html +221 -0
  45. data/docs/EasyPost.html +440 -0
  46. data/docs/created.rid +40 -0
  47. data/docs/css/fonts.css +167 -0
  48. data/docs/css/rdoc.css +639 -0
  49. data/docs/fonts/Lato-Light.ttf +0 -0
  50. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  51. data/docs/fonts/Lato-Regular.ttf +0 -0
  52. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  53. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  54. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  55. data/docs/images/add.png +0 -0
  56. data/docs/images/arrow_up.png +0 -0
  57. data/docs/images/brick.png +0 -0
  58. data/docs/images/brick_link.png +0 -0
  59. data/docs/images/bug.png +0 -0
  60. data/docs/images/bullet_black.png +0 -0
  61. data/docs/images/bullet_toggle_minus.png +0 -0
  62. data/docs/images/bullet_toggle_plus.png +0 -0
  63. data/docs/images/date.png +0 -0
  64. data/docs/images/delete.png +0 -0
  65. data/docs/images/find.png +0 -0
  66. data/docs/images/loadingAnimation.gif +0 -0
  67. data/docs/images/macFFBgHack.png +0 -0
  68. data/docs/images/package.png +0 -0
  69. data/docs/images/page_green.png +0 -0
  70. data/docs/images/page_white_text.png +0 -0
  71. data/docs/images/page_white_width.png +0 -0
  72. data/docs/images/plugin.png +0 -0
  73. data/docs/images/ruby.png +0 -0
  74. data/docs/images/tag_blue.png +0 -0
  75. data/docs/images/tag_green.png +0 -0
  76. data/docs/images/transparent.png +0 -0
  77. data/docs/images/wrench.png +0 -0
  78. data/docs/images/wrench_orange.png +0 -0
  79. data/docs/images/zoom.png +0 -0
  80. data/docs/index.html +117 -0
  81. data/docs/js/darkfish.js +84 -0
  82. data/docs/js/navigation.js +105 -0
  83. data/docs/js/navigation.js.gz +0 -0
  84. data/docs/js/search.js +110 -0
  85. data/docs/js/search_index.js +1 -0
  86. data/docs/js/search_index.js.gz +0 -0
  87. data/docs/js/searcher.js +229 -0
  88. data/docs/js/searcher.js.gz +0 -0
  89. data/docs/table_of_contents.html +785 -0
  90. data/easypost.gemspec +3 -1
  91. data/lib/easypost/beta/payment_refund.rb +5 -0
  92. data/lib/easypost/beta/referral.rb +52 -4
  93. data/lib/easypost/carrier_account.rb +17 -0
  94. data/lib/easypost/payment_method.rb +2 -1
  95. data/lib/easypost/referral.rb +4 -4
  96. data/lib/easypost/shipment.rb +1 -1
  97. data/lib/easypost/user.rb +5 -2
  98. data/lib/easypost/util.rb +21 -12
  99. metadata +117 -11
  100. data/CODE_OF_CONDUCT.md +0 -16
  101. data/CONTRIBUTING.md +0 -47
  102. data/SECURITY.md +0 -7
  103. data/SUPPORT.md +0 -3
data/easypost.gemspec CHANGED
@@ -23,10 +23,12 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_development_dependency 'brakeman', '~> 5.2'
25
25
  spec.add_development_dependency 'pry', '~> 0.14'
26
+ spec.add_development_dependency 'psych', '~> 4.0' # TODO: pinned because rdoc has an optimistic pin of this dep and 5.0 breaks on CI
26
27
  spec.add_development_dependency 'rake', '~> 13.0'
28
+ spec.add_development_dependency 'rdoc', '~> 6.4'
27
29
  spec.add_development_dependency 'rspec', '~> 3.10'
28
30
  spec.add_development_dependency 'rubocop', '= 1.27' # rubocop 1.28 requires Ruby 2.6+
29
- spec.add_development_dependency 'rubocop-rspec', '~> 2.7'
31
+ spec.add_development_dependency 'rubocop-rspec', '= 2.10' # rubocop-rspec 2.11 requires Ruby 2.6+
30
32
  spec.add_development_dependency 'simplecov', '~> 0.21'
31
33
  spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
32
34
  spec.add_development_dependency 'vcr', '= 6.0' # VCR 6.1 requires Ruby 2.6+
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ # PaymentRefund objects represent a refund of a payment.
4
+ class EasyPost::Beta::PaymentRefund < EasyPost::Resource
5
+ end
@@ -55,7 +55,7 @@ class EasyPost::Beta::Referral < EasyPost::Resource
55
55
  end
56
56
  end
57
57
 
58
- # Create a referral user. This function requires the Partner User's API key.
58
+ # Create a referral customer. This function requires the Partner User's API key.
59
59
  # <b>DEPRECATED:</b> Please use <tt>Referral</tt> in the main namespace instead.
60
60
  def self.create(params = {}, api_key = nil)
61
61
  warn '[DEPRECATION] Please use `Referral.create` in the main namespace instead.'
@@ -63,7 +63,7 @@ class EasyPost::Beta::Referral < EasyPost::Resource
63
63
  EasyPost::Util.convert_to_easypost_object(response, api_key)
64
64
  end
65
65
 
66
- # Update a referral user. This function requires the Partner User's API key.
66
+ # Update a referral customer. This function requires the Partner User's API key.
67
67
  # <b>DEPRECATED:</b> Please use <tt>Referral</tt> in the main namespace instead.
68
68
  def self.update_email(email, user_id, api_key = nil)
69
69
  warn '[DEPRECATION] Please use `Referral.update_email` in the main namespace instead.'
@@ -78,7 +78,7 @@ class EasyPost::Beta::Referral < EasyPost::Resource
78
78
  true
79
79
  end
80
80
 
81
- # Retrieve a list of referral users. This function requires the Partner User's API key.
81
+ # Retrieve a list of referral customers. This function requires the Partner User's API key.
82
82
  # <b>DEPRECATED:</b> Please use <tt>Referral</tt> in the main namespace instead.
83
83
  def self.all(params = {}, api_key = nil)
84
84
  warn '[DEPRECATION] Please use `Referral.all` in the main namespace instead.'
@@ -86,7 +86,7 @@ class EasyPost::Beta::Referral < EasyPost::Resource
86
86
  EasyPost::Util.convert_to_easypost_object(response, api_key)
87
87
  end
88
88
 
89
- # Add credit card to a referral user. This function requires the Referral User's API key.
89
+ # Add credit card to a referral customer. This function requires the Referral Customer's API key.
90
90
  # <b>DEPRECATED:</b> Please use <tt>Referral</tt> in the main namespace instead.
91
91
  def self.add_credit_card(referral_api_key, number, expiration_month, expiration_year, cvc, priority = 'primary')
92
92
  warn '[DEPRECATION] Please use `Referral.add_credit_card` in the main namespace instead.'
@@ -107,4 +107,52 @@ class EasyPost::Beta::Referral < EasyPost::Resource
107
107
  response = create_easypost_credit_card(referral_api_key, stripe_credit_card_token, priority)
108
108
  EasyPost::Util.convert_to_easypost_object(response, referral_api_key)
109
109
  end
110
+
111
+ # Add a Stripe payment method to a Referral Customer. This function requires the Referral Customer's API key.
112
+ # @param [String] stripe_customer_id Unique customer ID provided by Stripe.
113
+ # @param [String] payment_method_reference ID of the card or bank account provided by Stripe.
114
+ # @param [String] payment_method_type Which priority to save this payment method as on EasyPost, either 'primary' or 'secondary'.
115
+ # @param [String] api_key Override the API key used for this request.
116
+ # @return [EasyPost::PaymentMethod] The newly-added payment method.
117
+ # noinspection RubyParameterNamingConvention
118
+ def self.add_payment_method(stripe_customer_id, payment_method_reference, priority = 'primary', api_key = nil)
119
+ wrapped_params = {
120
+ payment_method: {
121
+ stripe_customer_id: stripe_customer_id,
122
+ payment_method_reference: payment_method_reference,
123
+ priority: priority.downcase,
124
+ },
125
+ }
126
+ response = EasyPost.make_request(:post, '/beta/referral_customers/payment_method', api_key, wrapped_params)
127
+ # noinspection RubyMismatchedReturnType
128
+ EasyPost::Util.convert_to_easypost_object(response, api_key)
129
+ end
130
+
131
+ # Refund a Referral Customer's wallet by a specified amount. Refund will be issued to the user's original payment method.
132
+ # This function requires the Referral Customer's API key.
133
+ # @param [Integer] amount The amount to refund, in cents.
134
+ # @param [String] api_key Override the API key used for this request.
135
+ # @return [EasyPost::Beta::PaymentRefund] The newly-created refund.
136
+ def self.refund_by_amount(amount, api_key = nil)
137
+ params = {
138
+ refund_amount: amount,
139
+ }
140
+ response = EasyPost.make_request(:post, '/beta/referral_customers/refunds', api_key, params)
141
+ # noinspection RubyMismatchedReturnType
142
+ EasyPost::Util.convert_to_easypost_object(response, api_key) # TODO: Needs "object" or ID prefix to determine object class.
143
+ end
144
+
145
+ # Refund a Referral Customer's wallet for a specified payment log entry. Refund will be issued to the user's original payment method.
146
+ # This function requires the Referral Customer's API key.
147
+ # @param [String] payment_log_id Payment log ID to refund.
148
+ # @param [String] api_key Override the API key used for this request.
149
+ # @return [EasyPost::Beta::PaymentRefund] The newly-created refund.
150
+ def self.refund_by_payment_log(payment_log_id, api_key = nil)
151
+ params = {
152
+ payment_log_id: payment_log_id,
153
+ }
154
+ response = EasyPost.make_request(:post, '/beta/referral_customers/refunds', api_key, params)
155
+ # noinspection RubyMismatchedReturnType
156
+ EasyPost::Util.convert_to_easypost_object(response, api_key) # TODO: Needs "object" or ID prefix to determine object class.
157
+ end
110
158
  end
@@ -2,8 +2,25 @@
2
2
 
3
3
  # A CarrierAccount encapsulates your credentials with the carrier.
4
4
  class EasyPost::CarrierAccount < EasyPost::Resource
5
+ CUSTOM_WORKFLOW_CARRIER_TYPES = %w[UpsAccount FedexAccount].freeze
6
+
5
7
  # Retrieve a list of available CarrierAccount types for the authenticated User.
6
8
  def self.types
7
9
  EasyPost::CarrierType.all
8
10
  end
11
+
12
+ def self.create(params = {}, api_key = nil)
13
+ wrapped_params = {}
14
+ wrapped_params[class_name.to_sym] = params
15
+
16
+ # For Ups and Fedex the endpoint is different
17
+ create_url = if CUSTOM_WORKFLOW_CARRIER_TYPES.include?(params[:type])
18
+ "#{url}/register"
19
+ else
20
+ url
21
+ end
22
+
23
+ response = EasyPost.make_request(:post, create_url, api_key, wrapped_params)
24
+ EasyPost::Util.convert_to_easypost_object(response, api_key)
25
+ end
9
26
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  # PaymentMethod objects represent a payment method of a user.
4
4
  class EasyPost::PaymentMethod < EasyPost::Resource
5
- # <b>DEPRECATED:</b> Please use <tt>Billing class</tt> instead.
5
+ # List all payment methods associated with the current user.
6
+ # <b>DEPRECATED:</b> Please use <tt>Billing.retrieve_payment_methods</tt> instead.
6
7
  # Deprecated: v4.5.0 - v6.0.0
7
8
  def self.all(_filters = {}, api_key = nil)
8
9
  warn '[DEPRECATION] `all` is deprecated. Please use `Billing.retrieve_payment_methods` instead.'
@@ -55,13 +55,13 @@ class EasyPost::Referral < EasyPost::Resource
55
55
  end
56
56
  end
57
57
 
58
- # Create a referral user. This function requires the Partner User's API key.
58
+ # Create a referral customer. This function requires the Partner User's API key.
59
59
  def self.create(params = {}, api_key = nil)
60
60
  response = EasyPost.make_request(:post, '/v2/referral_customers', api_key, { user: params })
61
61
  EasyPost::Util.convert_to_easypost_object(response, api_key)
62
62
  end
63
63
 
64
- # Update a referral user. This function requires the Partner User's API key.
64
+ # Update a referral customer. This function requires the Partner User's API key.
65
65
  def self.update_email(email, user_id, api_key = nil)
66
66
  wrapped_params = {
67
67
  user: {
@@ -74,13 +74,13 @@ class EasyPost::Referral < EasyPost::Resource
74
74
  true
75
75
  end
76
76
 
77
- # Retrieve a list of referral users. This function requires the Partner User's API key.
77
+ # Retrieve a list of referral customers. This function requires the Partner User's API key.
78
78
  def self.all(params = {}, api_key = nil)
79
79
  response = EasyPost.make_request(:get, '/v2/referral_customers', api_key, params)
80
80
  EasyPost::Util.convert_to_easypost_object(response, api_key)
81
81
  end
82
82
 
83
- # Add credit card to a referral user. This function requires the Referral User's API key.
83
+ # Add credit card to a referral customer. This function requires the Referral Customer's API key.
84
84
  def self.add_credit_card(referral_api_key, number, expiration_month, expiration_year, cvc, priority = 'primary')
85
85
  easypost_stripe_api_key = retrieve_easypost_stripe_api_key
86
86
 
@@ -75,7 +75,7 @@ class EasyPost::Shipment < EasyPost::Resource
75
75
 
76
76
  # Refund a Shipment.
77
77
  def refund(params = {})
78
- response = EasyPost.make_request(:get, "#{url}/refund", @api_key, params)
78
+ response = EasyPost.make_request(:post, "#{url}/refund", @api_key, params)
79
79
  refresh_from(response, @api_key)
80
80
 
81
81
  self
data/lib/easypost/user.rb CHANGED
@@ -33,18 +33,21 @@ class EasyPost::User < EasyPost::Resource
33
33
  all
34
34
  end
35
35
 
36
- # Retrieve a list of ApiKey objects.
36
+ # Retrieve a list of all ApiKey objects.
37
37
  def self.all_api_keys
38
38
  EasyPost::ApiKey.all
39
39
  end
40
40
 
41
- # Retrieve a list of ApiKey objects of a child User.
41
+ # Retrieve a list of ApiKey objects (works for the authenticated user or a child user).
42
42
  def api_keys
43
43
  api_keys = EasyPost::User.all_api_keys
44
44
 
45
45
  if api_keys.id == id
46
+ # This function was called on the authenticated user
46
47
  my_api_keys = api_keys.keys
47
48
  else
49
+ # This function was called on a child user (authenticated as parent, only return this child user's details).
50
+ my_api_keys = []
48
51
  api_keys.children.each do |child|
49
52
  if child.id == id
50
53
  my_api_keys = child.keys
data/lib/easypost/util.rb CHANGED
@@ -5,10 +5,13 @@ module EasyPost::Util
5
5
  attr_accessor :os_name, :os_version, :os_arch
6
6
 
7
7
  BY_PREFIX = {
8
+ 'ak' => EasyPost::ApiKey,
8
9
  'adr' => EasyPost::Address,
10
+ 'bank' => EasyPost::PaymentMethod,
9
11
  'batch' => EasyPost::Batch,
10
12
  'brd' => EasyPost::Brand,
11
13
  'ca' => EasyPost::CarrierAccount,
14
+ 'card' => EasyPost::PaymentMethod,
12
15
  'cstinfo' => EasyPost::CustomsInfo,
13
16
  'cstitem' => EasyPost::CustomsItem,
14
17
  'es' => EasyPost::EndShipper,
@@ -35,10 +38,13 @@ module EasyPost::Util
35
38
 
36
39
  BY_TYPE = {
37
40
  'Address' => EasyPost::Address,
41
+ 'ApiKey' => EasyPost::ApiKey,
42
+ 'BankAccount' => EasyPost::PaymentMethod,
38
43
  'Batch' => EasyPost::Batch,
39
44
  'Brand' => EasyPost::Brand,
40
45
  'CarbonOffset' => EasyPost::CarbonOffset,
41
46
  'CarrierAccount' => EasyPost::CarrierAccount,
47
+ 'CreditCard' => EasyPost::PaymentMethod,
42
48
  'CustomsInfo' => EasyPost::CustomsInfo,
43
49
  'CustomsItem' => EasyPost::CustomsItem,
44
50
  'EndShipper' => EasyPost::EndShipper,
@@ -144,25 +150,28 @@ module EasyPost::Util
144
150
  when Array
145
151
  response.map { |i| convert_to_easypost_object(i, api_key, parent) }
146
152
  when Hash
147
- if (cls_name = response[:object])
153
+ # Determine class based on the "object" key in the JSON response
154
+ cls_name = response[:object] || response['object']
155
+ if cls_name
156
+ # Use the "object" key value to look up the class
148
157
  cls = BY_TYPE[cls_name]
149
- elsif response[:id]
150
- if response[:id].index('_').nil?
151
- cls = EasyPost::EasyPostObject
152
- elsif (cls_prefix = response[:id][0..response[:id].index('_')])
153
- cls = BY_PREFIX[cls_prefix[0..-2]]
154
- end
155
- elsif response['id']
156
- if response['id'].index('_').nil?
158
+ else
159
+ # Fallback to determining class based on the "id" prefix in the JSON response
160
+ id = response[:id] || response['id']
161
+ if id.nil? || id.index('_').nil?
162
+ # ID not present or prefix not present (ID malformed)
157
163
  cls = EasyPost::EasyPostObject
158
- elsif (cls_prefix = response['id'][0..response['id'].index('_')])
159
- cls = BY_PREFIX[cls_prefix[0..-2]]
164
+ else
165
+ # Parse the prefix from the ID and use it to look up the class
166
+ cls_prefix = id[0..id.index('_')][0..-2]
167
+ cls = BY_PREFIX[cls_prefix]
160
168
  end
161
169
  end
162
-
170
+ # Fallback to using the generic class if other determination methods fail (or class lookup produced no results)
163
171
  cls ||= EasyPost::EasyPostObject
164
172
  cls.construct_from(response, api_key, parent, name)
165
173
  else
174
+ # response is neither a Hash nor Array (used mostly when dealing with final values like strings, booleans, etc.)
166
175
  response
167
176
  end
168
177
  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: 4.8.1
4
+ version: 4.10.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: 2022-10-24 00:00:00.000000000 Z
11
+ date: 2023-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brakeman
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: psych
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdoc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '6.4'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '6.4'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rspec
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -84,16 +112,16 @@ dependencies:
84
112
  name: rubocop-rspec
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - '='
88
116
  - !ruby/object:Gem::Version
89
- version: '2.7'
117
+ version: '2.10'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - '='
95
123
  - !ruby/object:Gem::Version
96
- version: '2.7'
124
+ version: '2.10'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: simplecov
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -167,18 +195,95 @@ files:
167
195
  - ".gitmodules"
168
196
  - ".rubocop.yml"
169
197
  - CHANGELOG.md
170
- - CODE_OF_CONDUCT.md
171
- - CONTRIBUTING.md
172
198
  - Gemfile
173
199
  - LICENSE
174
200
  - Makefile
175
201
  - README.md
176
202
  - Rakefile
177
- - SECURITY.md
178
- - SUPPORT.md
179
203
  - UPGRADE_GUIDE.md
180
204
  - VERSION
181
205
  - bin/easypost-irb
206
+ - docs/EasyPost.html
207
+ - docs/EasyPost/Address.html
208
+ - docs/EasyPost/ApiKey.html
209
+ - docs/EasyPost/Batch.html
210
+ - docs/EasyPost/Beta.html
211
+ - docs/EasyPost/Beta/EndShipper.html
212
+ - docs/EasyPost/Beta/Referral.html
213
+ - docs/EasyPost/Billing.html
214
+ - docs/EasyPost/Brand.html
215
+ - docs/EasyPost/CarbonOffset.html
216
+ - docs/EasyPost/CarrierAccount.html
217
+ - docs/EasyPost/CarrierType.html
218
+ - docs/EasyPost/CustomsInfo.html
219
+ - docs/EasyPost/CustomsItem.html
220
+ - docs/EasyPost/EasyPostObject.html
221
+ - docs/EasyPost/EndShipper.html
222
+ - docs/EasyPost/Error.html
223
+ - docs/EasyPost/Event.html
224
+ - docs/EasyPost/Insurance.html
225
+ - docs/EasyPost/Order.html
226
+ - docs/EasyPost/Parcel.html
227
+ - docs/EasyPost/PaymentMethod.html
228
+ - docs/EasyPost/Pickup.html
229
+ - docs/EasyPost/PickupRate.html
230
+ - docs/EasyPost/PostageLabel.html
231
+ - docs/EasyPost/Rate.html
232
+ - docs/EasyPost/Referral.html
233
+ - docs/EasyPost/Refund.html
234
+ - docs/EasyPost/Report.html
235
+ - docs/EasyPost/Resource.html
236
+ - docs/EasyPost/ScanForm.html
237
+ - docs/EasyPost/Shipment.html
238
+ - docs/EasyPost/TaxIdentifier.html
239
+ - docs/EasyPost/Tracker.html
240
+ - docs/EasyPost/User.html
241
+ - docs/EasyPost/Util.html
242
+ - docs/EasyPost/Webhook.html
243
+ - docs/created.rid
244
+ - docs/css/fonts.css
245
+ - docs/css/rdoc.css
246
+ - docs/fonts/Lato-Light.ttf
247
+ - docs/fonts/Lato-LightItalic.ttf
248
+ - docs/fonts/Lato-Regular.ttf
249
+ - docs/fonts/Lato-RegularItalic.ttf
250
+ - docs/fonts/SourceCodePro-Bold.ttf
251
+ - docs/fonts/SourceCodePro-Regular.ttf
252
+ - docs/images/add.png
253
+ - docs/images/arrow_up.png
254
+ - docs/images/brick.png
255
+ - docs/images/brick_link.png
256
+ - docs/images/bug.png
257
+ - docs/images/bullet_black.png
258
+ - docs/images/bullet_toggle_minus.png
259
+ - docs/images/bullet_toggle_plus.png
260
+ - docs/images/date.png
261
+ - docs/images/delete.png
262
+ - docs/images/find.png
263
+ - docs/images/loadingAnimation.gif
264
+ - docs/images/macFFBgHack.png
265
+ - docs/images/package.png
266
+ - docs/images/page_green.png
267
+ - docs/images/page_white_text.png
268
+ - docs/images/page_white_width.png
269
+ - docs/images/plugin.png
270
+ - docs/images/ruby.png
271
+ - docs/images/tag_blue.png
272
+ - docs/images/tag_green.png
273
+ - docs/images/transparent.png
274
+ - docs/images/wrench.png
275
+ - docs/images/wrench_orange.png
276
+ - docs/images/zoom.png
277
+ - docs/index.html
278
+ - docs/js/darkfish.js
279
+ - docs/js/navigation.js
280
+ - docs/js/navigation.js.gz
281
+ - docs/js/search.js
282
+ - docs/js/search_index.js
283
+ - docs/js/search_index.js.gz
284
+ - docs/js/searcher.js
285
+ - docs/js/searcher.js.gz
286
+ - docs/table_of_contents.html
182
287
  - easycop.yml
183
288
  - easypost.gemspec
184
289
  - lib/easypost.rb
@@ -187,6 +292,7 @@ files:
187
292
  - lib/easypost/batch.rb
188
293
  - lib/easypost/beta.rb
189
294
  - lib/easypost/beta/end_shipper.rb
295
+ - lib/easypost/beta/payment_refund.rb
190
296
  - lib/easypost/beta/referral.rb
191
297
  - lib/easypost/billing.rb
192
298
  - lib/easypost/brand.rb
@@ -239,7 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
345
  - !ruby/object:Gem::Version
240
346
  version: '0'
241
347
  requirements: []
242
- rubygems_version: 3.3.11
348
+ rubygems_version: 3.3.26
243
349
  signing_key:
244
350
  specification_version: 4
245
351
  summary: EasyPost Ruby Client Library
data/CODE_OF_CONDUCT.md DELETED
@@ -1,16 +0,0 @@
1
- # Code of Conduct
2
-
3
- > Remember the golden rule? Treat others as you'd like to be treated
4
-
5
- ## Standards
6
-
7
- - Create a welcoming and safe community for `everyone`
8
- - Demonstrate empathy towards others, realize that everyone has a different `level of experience`
9
- - Be respectful of others opinions, viewpoints, and experiences
10
- - Give and receive respectful constructive feedback
11
- - Accept responsibility and apologize when necessary
12
- - Focus on what is best for the overall community
13
-
14
- ## Failure to Follow Standards
15
-
16
- If there is a failure to follow the standards laid out above, the user will first be warned. If the offending behavior continues, the user may be blocked entirely.
data/CONTRIBUTING.md DELETED
@@ -1,47 +0,0 @@
1
- # Contributing Guide
2
-
3
- Please read this document in its entirety.
4
-
5
- ## General
6
-
7
- - Be nice and respectful of maintainers’ and contributors’ time and viewpoints
8
- - Be as descriptive as possible! More info is always better than not enough
9
- - Be patient, there may be a lot of in-flight work, some of it across multiple projects not related to the repo being contributed to
10
- - Have fun!
11
-
12
- ## Contributing
13
-
14
- Contributing comes in many forms! We are incredibly grateful to anyone who can do any of the following:
15
-
16
- - Add new features
17
- - Fix bugs
18
- - Fix typos
19
- - Improve docs
20
- - Improve tests
21
- - Triage issues
22
- - Review pull requests
23
- - Share opinions and viewpoints on issues
24
-
25
- ## Issues
26
-
27
- - If your issue is security related, please follow the [SECURITY guide](https://github.com/easypost/.github/SECURITY.md)
28
- - Before opening a new issue, check for existing issues that are related, including closed ones
29
- - Provide as much information as possible about the issue, including how to reproduce the problem and the expected behavior
30
- - Don't needlessly bump issues (eg: if there hasn’t been progress for more than a few weeks, feel free to reach back out)
31
-
32
- ## Pull Requests
33
-
34
- - All Pull Requests should be accompanied first by an issue describing the reason why the Pull Request is needed
35
- - Be as descriptive as possible in your PR description about why the changes are being made and what the changes contain
36
- - Pull Requests should be as small as possible
37
- - Don't make unrelated changes in your Pull Request
38
- - Don't open a Pull Request if you don't plan to see it through. PRs submitted by individuals that cannot complete additional work to get a PR merged may be closed without completion
39
- - Adhere to the existing code style of the repo, even if it differs from your personal preference
40
- - When applicable, add tests that provide ample coverage of the logic added or changed
41
- - Pull Requests should come from branches and never the default `master` branch
42
- - Pull Requests must pass CI, including linting and testing
43
- - Pull Requests must go through code review before they can be merged to the main branch
44
- - Do not include "version bump" changes in the same PR as your code changes; these will be handled as a separate PR and releasing process
45
- - Make sure the `Allow edits from maintainers` checkbox is checked. That way EasyPost engineers can make certain minor changes as needed, allowing your pull request to be merged sooner.
46
-
47
- You agree and acknowledge that you have necessary intellectual property rights to provide your Contribution and hereby assign to EasyPost all right, title and interest in such Contribution.
data/SECURITY.md DELETED
@@ -1,7 +0,0 @@
1
- # Security Guide
2
-
3
- We take security seriously at EasyPost. If you find a security issue or vulnerability in our open source projects, please abide by the following guidelines:
4
-
5
- - Please read our [Responsible Disclosure Policy](https://www.easypost.com/privacy#disclosure-policy).
6
- - Do not open an issue on GitHub about the security vulnerability. Doing so draws attention to the issue and exposes it to the public.
7
- - Send an email to `security-abuse@easypost.com` including as many details as possible.
data/SUPPORT.md DELETED
@@ -1,3 +0,0 @@
1
- # Support Guide
2
-
3
- Looking for support for one of our projects? If your question is related to our API, please contact our support team at `support@easypost.com`. If you need support regarding this project, create an issue on GitHub with as many details as possible and we’ll take a look.