recurly 3.18.1 → 4.3.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/workflows/docs.yml +1 -1
  5. data/CHANGELOG.md +90 -348
  6. data/GETTING_STARTED.md +20 -17
  7. data/lib/recurly/client.rb +48 -21
  8. data/lib/recurly/client/operations.rb +691 -573
  9. data/lib/recurly/errors.rb +5 -22
  10. data/lib/recurly/errors/api_errors.rb +3 -0
  11. data/lib/recurly/errors/network_errors.rb +1 -4
  12. data/lib/recurly/pager.rb +4 -14
  13. data/lib/recurly/requests/{account_acquisition_updatable.rb → account_acquisition_update.rb} +1 -1
  14. data/lib/recurly/requests/account_create.rb +2 -2
  15. data/lib/recurly/requests/account_purchase.rb +2 -2
  16. data/lib/recurly/requests/add_on_create.rb +4 -4
  17. data/lib/recurly/requests/add_on_pricing.rb +5 -1
  18. data/lib/recurly/requests/add_on_update.rb +4 -4
  19. data/lib/recurly/requests/address.rb +0 -8
  20. data/lib/recurly/requests/billing_info_create.rb +6 -26
  21. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  22. data/lib/recurly/requests/coupon_create.rb +1 -1
  23. data/lib/recurly/requests/external_transaction.rb +1 -1
  24. data/lib/recurly/requests/{invoice_updatable.rb → invoice_update.rb} +1 -1
  25. data/lib/recurly/requests/line_item_create.rb +1 -1
  26. data/lib/recurly/requests/subscription_add_on_create.rb +6 -2
  27. data/lib/recurly/requests/subscription_add_on_tier.rb +9 -1
  28. data/lib/recurly/requests/subscription_add_on_update.rb +6 -2
  29. data/lib/recurly/requests/subscription_change_create.rb +1 -1
  30. data/lib/recurly/requests/subscription_create.rb +3 -3
  31. data/lib/recurly/requests/subscription_purchase.rb +1 -1
  32. data/lib/recurly/requests/tier.rb +7 -3
  33. data/lib/recurly/requests/tier_pricing.rb +22 -0
  34. data/lib/recurly/resources/add_on.rb +1 -1
  35. data/lib/recurly/resources/add_on_pricing.rb +5 -1
  36. data/lib/recurly/resources/address.rb +0 -8
  37. data/lib/recurly/resources/address_with_name.rb +46 -0
  38. data/lib/recurly/resources/billing_info.rb +5 -1
  39. data/lib/recurly/resources/coupon.rb +5 -17
  40. data/lib/recurly/resources/invoice.rb +6 -2
  41. data/lib/recurly/resources/line_item.rb +4 -0
  42. data/lib/recurly/resources/plan.rb +1 -1
  43. data/lib/recurly/resources/subscription_add_on.rb +6 -2
  44. data/lib/recurly/resources/subscription_add_on_tier.rb +9 -1
  45. data/lib/recurly/resources/subscription_change.rb +0 -4
  46. data/lib/recurly/resources/tax_detail.rb +26 -0
  47. data/lib/recurly/resources/tax_info.rb +4 -0
  48. data/lib/recurly/resources/tier.rb +7 -3
  49. data/lib/recurly/resources/tier_pricing.rb +22 -0
  50. data/lib/recurly/resources/transaction.rb +6 -2
  51. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  52. data/lib/recurly/resources/usage.rb +5 -1
  53. data/lib/recurly/version.rb +1 -1
  54. data/openapi/api.yaml +2114 -2012
  55. data/scripts/build +2 -2
  56. data/scripts/format +2 -2
  57. data/scripts/prepare-release +43 -29
  58. data/scripts/release +5 -20
  59. metadata +15 -13
  60. data/.github_changelog_generator +0 -8
  61. data/lib/recurly/resources/line_item_list.rb +0 -26
  62. data/lib/recurly/resources/subscription_change_preview.rb +0 -78
  63. data/scripts/bump +0 -11
  64. data/scripts/changelog +0 -14
data/scripts/build CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- bundle install --binstubs --quiet
5
- ./bin/yard --quiet
4
+ bundle install --quiet
5
+ bundle exec yard --quiet
data/scripts/format CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  if [ "$1" == "--check" ]; then
4
- ./bin/rufo . --check
4
+ bundle exec rufo . --check
5
5
  RESULT=$?
6
6
  if [ $RESULT != 0 ]; then
7
7
  echo "Code is not properly formatted. Please execute ./scripts/format to autoformat the code."
8
8
  exit $RESULT
9
9
  fi
10
10
  else
11
- ./bin/rufo . -x
11
+ bundle exec rufo . -x
12
12
  fi
@@ -1,36 +1,50 @@
1
1
  #!/usr/bin/env bash
2
- set -e
3
-
4
- # major,minor,patch
5
- PART=${1}
6
- NEXT_VERSION=$(./scripts/bump --next-version "$PART")
7
- UNRELEASED_LOG="/tmp/ruby-pending-changes.md"
8
-
9
- if [ -z "$NEXT_VERSION" ]; then
10
- echo "Failed to get next version"
11
- else
12
- # Generate pending changes in tmpfile
13
- ./scripts/changelog --pending $UNRELEASED_LOG
14
- # Add a git message header of Release X.Y.Z
15
- printf "Release %s\n\n$(cat $UNRELEASED_LOG)" "$NEXT_VERSION" > $UNRELEASED_LOG
16
- # Delete credit line
17
- sed -i '' -e '$ d' $UNRELEASED_LOG
18
-
19
- git checkout -b "release-$NEXT_VERSION"
20
2
 
21
- # Actually bump the version
22
- ./scripts/bump "$PART"
3
+ # Usage
4
+ #
5
+ # ./prepare-release major|minor|patch [--notes-out <path>] [--tag-out <path>]
6
+ #
23
7
 
24
- # Rebuild docs
25
- ./scripts/build
8
+ set -e
26
9
 
27
- # Make the commit
28
- git add . --all
29
- git commit -F "$UNRELEASED_LOG"
10
+ if [ -n "$(git status --porcelain)" ]; then
11
+ echo "Working directory is not clean. Aborting."
12
+ exit 1
13
+ fi
30
14
 
31
- # Push up this branch for PR
32
- git push origin "release-$NEXT_VERSION"
15
+ if [ -z "$GITHUB_TOKEN" ]; then
16
+ echo "GITHUB_TOKEN must be set. Aborting."
17
+ exit 1
18
+ fi
33
19
 
34
- # Create PR
35
- hub pull-request -c -F "$UNRELEASED_LOG"
20
+ # Bump version
21
+ # major|minor|patch
22
+ part=${1}
23
+ if [ "$part" != "patch" ] && [ "$part" != "minor" ] && [ "$part" != "major" ]; then
24
+ echo "'$part' is not a valid option: major|minor|patch"
25
+ exit 1
36
26
  fi
27
+ new_version=$(bump2version --list "$part" | grep new_version | cut -d "=" -f 2)
28
+
29
+ # Generate Changelog
30
+ changelogly --future-release "$new_version"
31
+
32
+ while [[ "$#" -gt 0 ]]; do
33
+ case $1 in
34
+ # Create release notes artifact
35
+ -n|--notes-out)
36
+ echo "$new_version
37
+
38
+ $(
39
+ cat CHANGELOG.md | sed -n "/^## \[$new_version\]/,/^##/p" | sed '$d;1d'
40
+ )" | awk '{$1=$1};1' > $2
41
+ shift
42
+ ;;
43
+
44
+ # Create release notes artifact
45
+ -t|--tag-out)
46
+ echo "$new_version" > $2
47
+ ;;
48
+ esac
49
+ shift
50
+ done
data/scripts/release CHANGED
@@ -1,15 +1,11 @@
1
1
  #!/usr/bin/env bash
2
- set -e
3
2
 
4
- # TODO this file could be gone
5
- RELEASED_LOG="/tmp/ruby-pending-changes.md"
6
- THIS_VERSION=$(./scripts/bump --this-version)
3
+ set -e
7
4
 
8
- # Generate the changelog with changes in this release
9
- ./scripts/changelog --release-tag "$THIS_VERSION"
10
- git add CHANGELOG.md
11
- git commit -m "Update Changelog for Release $THIS_VERSION"
12
- git push origin master
5
+ # Usage
6
+ #
7
+ # ./release
8
+ #
13
9
 
14
10
  # publish
15
11
  # Clean up any leftover gems
@@ -19,14 +15,3 @@ gem build recurly.gemspec
19
15
  # Push what should be the only gem present
20
16
  gem push ./*.gem
21
17
 
22
- # create release
23
- hub release create -c -F "$RELEASED_LOG" "$THIS_VERSION"
24
-
25
- # Copy-pasteable messages for announcments
26
- echo ":ruby: Ruby $THIS_VERSION Released :ruby:"
27
- echo ":rubygems: Rubygems: https://rubygems.org/gems/recurly/versions/$THIS_VERSION"
28
- echo "Release: https://github.com/recurly/recurly-client-ruby/releases/tag/$THIS_VERSION"
29
- echo "Changelog:"
30
- echo "\`\`\`"
31
- cat "$RELEASED_LOG"
32
- echo "\`\`\`"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.18.1
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-22 00:00:00.000000000 Z
11
+ date: 2021-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,10 +116,10 @@ extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
118
  - ".bumpversion.cfg"
119
+ - ".changelog_config.yaml"
119
120
  - ".github/ISSUE_TEMPLATE/bug-report.md"
120
121
  - ".github/ISSUE_TEMPLATE/question-or-other.md"
121
122
  - ".github/workflows/docs.yml"
122
- - ".github_changelog_generator"
123
123
  - ".gitignore"
124
124
  - ".rspec"
125
125
  - ".travis.yml"
@@ -146,7 +146,7 @@ files:
146
146
  - lib/recurly/request.rb
147
147
  - lib/recurly/requests.rb
148
148
  - lib/recurly/requests/account_acquisition_cost.rb
149
- - lib/recurly/requests/account_acquisition_updatable.rb
149
+ - lib/recurly/requests/account_acquisition_update.rb
150
150
  - lib/recurly/requests/account_create.rb
151
151
  - lib/recurly/requests/account_purchase.rb
152
152
  - lib/recurly/requests/account_update.rb
@@ -155,6 +155,7 @@ files:
155
155
  - lib/recurly/requests/add_on_update.rb
156
156
  - lib/recurly/requests/address.rb
157
157
  - lib/recurly/requests/billing_info_create.rb
158
+ - lib/recurly/requests/billing_info_verify.rb
158
159
  - lib/recurly/requests/coupon_bulk_create.rb
159
160
  - lib/recurly/requests/coupon_create.rb
160
161
  - lib/recurly/requests/coupon_pricing.rb
@@ -167,7 +168,7 @@ files:
167
168
  - lib/recurly/requests/invoice_collect.rb
168
169
  - lib/recurly/requests/invoice_create.rb
169
170
  - lib/recurly/requests/invoice_refund.rb
170
- - lib/recurly/requests/invoice_updatable.rb
171
+ - lib/recurly/requests/invoice_update.rb
171
172
  - lib/recurly/requests/item_create.rb
172
173
  - lib/recurly/requests/item_update.rb
173
174
  - lib/recurly/requests/line_item_create.rb
@@ -200,6 +201,7 @@ files:
200
201
  - lib/recurly/requests/subscription_shipping_update.rb
201
202
  - lib/recurly/requests/subscription_update.rb
202
203
  - lib/recurly/requests/tier.rb
204
+ - lib/recurly/requests/tier_pricing.rb
203
205
  - lib/recurly/requests/usage_create.rb
204
206
  - lib/recurly/resource.rb
205
207
  - lib/recurly/resources.rb
@@ -214,6 +216,7 @@ files:
214
216
  - lib/recurly/resources/add_on_mini.rb
215
217
  - lib/recurly/resources/add_on_pricing.rb
216
218
  - lib/recurly/resources/address.rb
219
+ - lib/recurly/resources/address_with_name.rb
217
220
  - lib/recurly/resources/billing_info.rb
218
221
  - lib/recurly/resources/billing_info_updated_by.rb
219
222
  - lib/recurly/resources/binary_file.rb
@@ -240,7 +243,6 @@ files:
240
243
  - lib/recurly/resources/item.rb
241
244
  - lib/recurly/resources/item_mini.rb
242
245
  - lib/recurly/resources/line_item.rb
243
- - lib/recurly/resources/line_item_list.rb
244
246
  - lib/recurly/resources/measured_unit.rb
245
247
  - lib/recurly/resources/payment_method.rb
246
248
  - lib/recurly/resources/plan.rb
@@ -257,14 +259,16 @@ files:
257
259
  - lib/recurly/resources/subscription_add_on.rb
258
260
  - lib/recurly/resources/subscription_add_on_tier.rb
259
261
  - lib/recurly/resources/subscription_change.rb
260
- - lib/recurly/resources/subscription_change_preview.rb
261
262
  - lib/recurly/resources/subscription_shipping.rb
263
+ - lib/recurly/resources/tax_detail.rb
262
264
  - lib/recurly/resources/tax_info.rb
263
265
  - lib/recurly/resources/tier.rb
266
+ - lib/recurly/resources/tier_pricing.rb
264
267
  - lib/recurly/resources/transaction.rb
265
268
  - lib/recurly/resources/transaction_error.rb
266
269
  - lib/recurly/resources/transaction_payment_gateway.rb
267
270
  - lib/recurly/resources/unique_coupon_code.rb
271
+ - lib/recurly/resources/unique_coupon_code_params.rb
268
272
  - lib/recurly/resources/usage.rb
269
273
  - lib/recurly/resources/user.rb
270
274
  - lib/recurly/schema.rb
@@ -278,8 +282,6 @@ files:
278
282
  - openapi/api.yaml
279
283
  - recurly.gemspec
280
284
  - scripts/build
281
- - scripts/bump
282
- - scripts/changelog
283
285
  - scripts/clean
284
286
  - scripts/format
285
287
  - scripts/prepare-release
@@ -293,8 +295,8 @@ metadata:
293
295
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
294
296
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
295
297
  homepage_uri: https://github.com/recurly/recurly-client-ruby
296
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/3.18.1
297
- post_install_message:
298
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.3.0
299
+ post_install_message:
298
300
  rdoc_options: []
299
301
  require_paths:
300
302
  - lib
@@ -310,7 +312,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
310
312
  version: '0'
311
313
  requirements: []
312
314
  rubygems_version: 3.0.3
313
- signing_key:
315
+ signing_key:
314
316
  specification_version: 4
315
317
  summary: The ruby client for Recurly's V3 API
316
318
  test_files: []
@@ -1,8 +0,0 @@
1
- user=recurly
2
- project=recurly-client-ruby
3
- unreleased=false
4
- exclude-labels=question,bug?,duplicate,V2
5
- exclude-tags-regex=^[^3]+\..*
6
- issues-wo-labels=false
7
- verbose=false
8
- since-tag=3.0.0.beta.1
@@ -1,26 +0,0 @@
1
- # This file is automatically created by Recurly's OpenAPI generation process
2
- # and thus any edits you make by hand will be lost. If you wish to make a
3
- # change to this file, please create a Github issue explaining the changes you
4
- # need and we will usher them to the appropriate places.
5
- module Recurly
6
- module Resources
7
- class LineItemList < Resource
8
-
9
- # @!attribute data
10
- # @return [Array[LineItem]]
11
- define_attribute :data, Array, { :item_type => :LineItem }
12
-
13
- # @!attribute has_more
14
- # @return [Boolean] Indicates there are more results on subsequent pages.
15
- define_attribute :has_more, :Boolean
16
-
17
- # @!attribute next
18
- # @return [String] Path to subsequent page of results.
19
- define_attribute :next, String
20
-
21
- # @!attribute object
22
- # @return [String] Will always be List.
23
- define_attribute :object, String
24
- end
25
- end
26
- end
@@ -1,78 +0,0 @@
1
- # This file is automatically created by Recurly's OpenAPI generation process
2
- # and thus any edits you make by hand will be lost. If you wish to make a
3
- # change to this file, please create a Github issue explaining the changes you
4
- # need and we will usher them to the appropriate places.
5
- module Recurly
6
- module Resources
7
- class SubscriptionChangePreview < Resource
8
-
9
- # @!attribute activate_at
10
- # @return [DateTime] Activated at
11
- define_attribute :activate_at, DateTime
12
-
13
- # @!attribute activated
14
- # @return [Boolean] Returns `true` if the subscription change is activated.
15
- define_attribute :activated, :Boolean
16
-
17
- # @!attribute add_ons
18
- # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
- define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
-
21
- # @!attribute created_at
22
- # @return [DateTime] Created at
23
- define_attribute :created_at, DateTime
24
-
25
- # @!attribute custom_fields
26
- # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
27
- define_attribute :custom_fields, Array, { :item_type => :CustomField }
28
-
29
- # @!attribute deleted_at
30
- # @return [DateTime] Deleted at
31
- define_attribute :deleted_at, DateTime
32
-
33
- # @!attribute id
34
- # @return [String] The ID of the Subscription Change.
35
- define_attribute :id, String
36
-
37
- # @!attribute invoice_collection
38
- # @return [InvoiceCollection] Invoice Collection
39
- define_attribute :invoice_collection, :InvoiceCollection
40
-
41
- # @!attribute object
42
- # @return [String] Object type
43
- define_attribute :object, String
44
-
45
- # @!attribute plan
46
- # @return [PlanMini] Just the important parts.
47
- define_attribute :plan, :PlanMini
48
-
49
- # @!attribute quantity
50
- # @return [Integer] Subscription quantity
51
- define_attribute :quantity, Integer
52
-
53
- # @!attribute revenue_schedule_type
54
- # @return [String] Revenue schedule type
55
- define_attribute :revenue_schedule_type, String
56
-
57
- # @!attribute setup_fee_revenue_schedule_type
58
- # @return [String] Setup fee revenue schedule type
59
- define_attribute :setup_fee_revenue_schedule_type, String
60
-
61
- # @!attribute shipping
62
- # @return [SubscriptionShipping] Subscription shipping details
63
- define_attribute :shipping, :SubscriptionShipping
64
-
65
- # @!attribute subscription_id
66
- # @return [String] The ID of the subscription that is going to be changed.
67
- define_attribute :subscription_id, String
68
-
69
- # @!attribute unit_amount
70
- # @return [Float] Unit amount
71
- define_attribute :unit_amount, Float
72
-
73
- # @!attribute updated_at
74
- # @return [DateTime] Updated at
75
- define_attribute :updated_at, DateTime
76
- end
77
- end
78
- end
data/scripts/bump DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- if [ "$1" == "--next-version" ]; then
5
- shift
6
- bump2version --dry-run --list "$@" | grep new_version | cut -d "=" -f 2
7
- elif [ "$1" == "--this-version" ]; then
8
- grep current_version .bumpversion.cfg | awk -F" = " '{print $2}'
9
- else
10
- bump2version "$@"
11
- fi
data/scripts/changelog DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- if [ -z "$GITHUB_TOKEN" ]; then
5
- echo "Environment variable GITHUB_TOKEN must be set"
6
- else
7
- if [ "$1" == "--pending" ]; then
8
- github_changelog_generator -t $GITHUB_TOKEN --unreleased-only -o "$2"
9
- elif [ "$1" == "--release-tag" ]; then
10
- github_changelog_generator -t $GITHUB_TOKEN --unreleased true --unreleased-label "$2"
11
- else
12
- github_changelog_generator -t $GITHUB_TOKEN
13
- fi
14
- fi