recurly 3.3.0 → 3.6.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +5 -1
  3. data/.github/ISSUE_TEMPLATE/bug-report.md +1 -1
  4. data/.github/workflows/docs.yml +28 -0
  5. data/.github_changelog_generator +8 -0
  6. data/.travis.yml +1 -0
  7. data/CHANGELOG.md +209 -0
  8. data/GETTING_STARTED.md +61 -1
  9. data/README.md +1 -1
  10. data/lib/data/ca-certificates.crt +3464 -29
  11. data/lib/recurly.rb +1 -0
  12. data/lib/recurly/client.rb +215 -111
  13. data/lib/recurly/client/operations.rb +263 -0
  14. data/lib/recurly/connection_pool.rb +40 -0
  15. data/lib/recurly/errors.rb +30 -0
  16. data/lib/recurly/errors/network_errors.rb +2 -0
  17. data/lib/recurly/http.rb +13 -8
  18. data/lib/recurly/pager.rb +31 -12
  19. data/lib/recurly/requests/add_on_create.rb +22 -6
  20. data/lib/recurly/requests/add_on_update.rb +13 -1
  21. data/lib/recurly/requests/billing_info_create.rb +21 -1
  22. data/lib/recurly/requests/external_transaction.rb +26 -0
  23. data/lib/recurly/requests/invoice_refund.rb +2 -2
  24. data/lib/recurly/requests/line_item_create.rb +2 -2
  25. data/lib/recurly/requests/plan_create.rb +8 -0
  26. data/lib/recurly/requests/plan_update.rb +8 -0
  27. data/lib/recurly/requests/subscription_add_on_create.rb +9 -1
  28. data/lib/recurly/requests/subscription_add_on_tier.rb +18 -0
  29. data/lib/recurly/requests/subscription_add_on_update.rb +10 -2
  30. data/lib/recurly/requests/subscription_change_create.rb +5 -1
  31. data/lib/recurly/requests/subscription_create.rb +4 -0
  32. data/lib/recurly/requests/subscription_purchase.rb +4 -0
  33. data/lib/recurly/requests/subscription_update.rb +4 -0
  34. data/lib/recurly/requests/tier.rb +18 -0
  35. data/lib/recurly/resources/add_on.rb +12 -0
  36. data/lib/recurly/resources/coupon.rb +4 -0
  37. data/lib/recurly/resources/line_item.rb +4 -4
  38. data/lib/recurly/resources/payment_method.rb +4 -0
  39. data/lib/recurly/resources/plan.rb +8 -0
  40. data/lib/recurly/resources/shipping_method.rb +4 -0
  41. data/lib/recurly/resources/subscription.rb +4 -0
  42. data/lib/recurly/resources/subscription_add_on.rb +12 -0
  43. data/lib/recurly/resources/subscription_add_on_tier.rb +18 -0
  44. data/lib/recurly/resources/subscription_change.rb +8 -0
  45. data/lib/recurly/resources/tier.rb +18 -0
  46. data/lib/recurly/version.rb +1 -1
  47. data/openapi/api.yaml +5973 -3092
  48. data/recurly.gemspec +9 -4
  49. data/scripts/bump +8 -1
  50. data/scripts/changelog +14 -0
  51. data/scripts/format +5 -1
  52. data/scripts/prepare-release +36 -0
  53. data/scripts/release +25 -4
  54. metadata +22 -41
  55. data/lib/recurly/client/adapter.rb +0 -39
@@ -14,6 +14,14 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://github.com/recurly/recurly-client-ruby"
15
15
  spec.license = "MIT"
16
16
 
17
+ spec.metadata = {
18
+ "bug_tracker_uri" => "#{spec.homepage}/issues",
19
+ "changelog_uri" => "#{spec.homepage}/blob/master/CHANGELOG.md",
20
+ "documentation_uri" => "https://dev.recurly.com/docs",
21
+ "homepage_uri" => spec.homepage,
22
+ "source_code_uri" => "#{spec.homepage}/tree/#{spec.version}",
23
+ }
24
+
17
25
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
26
  f.match(%r{^(test|spec|features)/})
19
27
  end
@@ -21,11 +29,8 @@ Gem::Specification.new do |spec|
21
29
  # spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
30
  spec.require_paths = ["lib"]
23
31
 
24
- spec.add_dependency "faraday", ">= 0.8.11", "< 1.0.0"
25
-
26
- spec.add_development_dependency "net-http-persistent", "~> 2.9.4"
27
32
  spec.add_development_dependency "bundler", "~> 2.0"
28
- spec.add_development_dependency "rake", "~> 10.0"
33
+ spec.add_development_dependency "rake", "~> 12.3.3"
29
34
  spec.add_development_dependency "rspec", "~> 3.0"
30
35
  spec.add_development_dependency "yard", "~> 0.9"
31
36
  spec.add_development_dependency "pry", "~> 0.10"
@@ -1,4 +1,11 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- bump2version "$@"
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
@@ -0,0 +1,14 @@
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
@@ -1,8 +1,12 @@
1
1
  #!/usr/bin/env bash
2
- set -e
3
2
 
4
3
  if [ "$1" == "--check" ]; then
5
4
  ./bin/rufo . --check
5
+ RESULT=$?
6
+ if [ $RESULT != 0 ]; then
7
+ echo "Code is not properly formatted. Please execute ./scripts/format to autoformat the code."
8
+ exit $RESULT
9
+ fi
6
10
  else
7
11
  ./bin/rufo . -x
8
12
  fi
@@ -0,0 +1,36 @@
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
+
21
+ # Actually bump the version
22
+ ./scripts/bump "$PART"
23
+
24
+ # Rebuild docs
25
+ ./scripts/build
26
+
27
+ # Make the commit
28
+ git add . --all
29
+ git commit -F "$UNRELEASED_LOG"
30
+
31
+ # Push up this branch for PR
32
+ git push origin "release-$NEXT_VERSION"
33
+
34
+ # Create PR
35
+ hub pull-request -c -F "$UNRELEASED_LOG"
36
+ fi
@@ -1,11 +1,32 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- # Clean up any leftover gems
5
- rm -f *.gem
4
+ # TODO this file could be gone
5
+ RELEASED_LOG="/tmp/ruby-pending-changes.md"
6
+ THIS_VERSION=$(./scripts/bump --this-version)
7
+
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
6
13
 
14
+ # publish
15
+ # Clean up any leftover gems
16
+ rm -f ./*.gem
7
17
  # Build the new gem
8
18
  gem build recurly.gemspec
9
-
10
19
  # Push what should be the only gem present
11
- gem push *.gem
20
+ gem push ./*.gem
21
+
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,49 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
11
+ date: 2020-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: faraday
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.8.11
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 1.0.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.8.11
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 1.0.0
33
- - !ruby/object:Gem::Dependency
34
- name: net-http-persistent
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 2.9.4
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: 2.9.4
47
13
  - !ruby/object:Gem::Dependency
48
14
  name: bundler
49
15
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +30,14 @@ dependencies:
64
30
  requirements:
65
31
  - - "~>"
66
32
  - !ruby/object:Gem::Version
67
- version: '10.0'
33
+ version: 12.3.3
68
34
  type: :development
69
35
  prerelease: false
70
36
  version_requirements: !ruby/object:Gem::Requirement
71
37
  requirements:
72
38
  - - "~>"
73
39
  - !ruby/object:Gem::Version
74
- version: '10.0'
40
+ version: 12.3.3
75
41
  - !ruby/object:Gem::Dependency
76
42
  name: rspec
77
43
  requirement: !ruby/object:Gem::Requirement
@@ -152,10 +118,13 @@ files:
152
118
  - ".bumpversion.cfg"
153
119
  - ".github/ISSUE_TEMPLATE/bug-report.md"
154
120
  - ".github/ISSUE_TEMPLATE/question-or-other.md"
121
+ - ".github/workflows/docs.yml"
122
+ - ".github_changelog_generator"
155
123
  - ".gitignore"
156
124
  - ".rspec"
157
125
  - ".travis.yml"
158
126
  - ".yardopts"
127
+ - CHANGELOG.md
159
128
  - CONTRIBUTING.md
160
129
  - GETTING_STARTED.md
161
130
  - Gemfile
@@ -166,8 +135,8 @@ files:
166
135
  - lib/data/ca-certificates.crt
167
136
  - lib/recurly.rb
168
137
  - lib/recurly/client.rb
169
- - lib/recurly/client/adapter.rb
170
138
  - lib/recurly/client/operations.rb
139
+ - lib/recurly/connection_pool.rb
171
140
  - lib/recurly/errors.rb
172
141
  - lib/recurly/errors/api_errors.rb
173
142
  - lib/recurly/errors/network_errors.rb
@@ -192,6 +161,7 @@ files:
192
161
  - lib/recurly/requests/coupon_update.rb
193
162
  - lib/recurly/requests/custom_field.rb
194
163
  - lib/recurly/requests/external_refund.rb
164
+ - lib/recurly/requests/external_transaction.rb
195
165
  - lib/recurly/requests/invoice_address.rb
196
166
  - lib/recurly/requests/invoice_collect.rb
197
167
  - lib/recurly/requests/invoice_create.rb
@@ -212,6 +182,7 @@ files:
212
182
  - lib/recurly/requests/shipping_fee_create.rb
213
183
  - lib/recurly/requests/shipping_purchase.rb
214
184
  - lib/recurly/requests/subscription_add_on_create.rb
185
+ - lib/recurly/requests/subscription_add_on_tier.rb
215
186
  - lib/recurly/requests/subscription_add_on_update.rb
216
187
  - lib/recurly/requests/subscription_cancel.rb
217
188
  - lib/recurly/requests/subscription_change_create.rb
@@ -223,6 +194,7 @@ files:
223
194
  - lib/recurly/requests/subscription_shipping_purchase.rb
224
195
  - lib/recurly/requests/subscription_shipping_update.rb
225
196
  - lib/recurly/requests/subscription_update.rb
197
+ - lib/recurly/requests/tier.rb
226
198
  - lib/recurly/resource.rb
227
199
  - lib/recurly/resources.rb
228
200
  - lib/recurly/resources/account.rb
@@ -273,9 +245,11 @@ files:
273
245
  - lib/recurly/resources/site.rb
274
246
  - lib/recurly/resources/subscription.rb
275
247
  - lib/recurly/resources/subscription_add_on.rb
248
+ - lib/recurly/resources/subscription_add_on_tier.rb
276
249
  - lib/recurly/resources/subscription_change.rb
277
250
  - lib/recurly/resources/subscription_shipping.rb
278
251
  - lib/recurly/resources/tax_info.rb
252
+ - lib/recurly/resources/tier.rb
279
253
  - lib/recurly/resources/transaction.rb
280
254
  - lib/recurly/resources/transaction_error.rb
281
255
  - lib/recurly/resources/transaction_payment_gateway.rb
@@ -293,14 +267,21 @@ files:
293
267
  - recurly.gemspec
294
268
  - scripts/build
295
269
  - scripts/bump
270
+ - scripts/changelog
296
271
  - scripts/clean
297
272
  - scripts/format
273
+ - scripts/prepare-release
298
274
  - scripts/release
299
275
  - scripts/test
300
276
  homepage: https://github.com/recurly/recurly-client-ruby
301
277
  licenses:
302
278
  - MIT
303
- metadata: {}
279
+ metadata:
280
+ bug_tracker_uri: https://github.com/recurly/recurly-client-ruby/issues
281
+ changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
282
+ documentation_uri: https://dev.recurly.com/docs
283
+ homepage_uri: https://github.com/recurly/recurly-client-ruby
284
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/3.6.0
304
285
  post_install_message:
305
286
  rdoc_options: []
306
287
  require_paths:
@@ -316,7 +297,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
297
  - !ruby/object:Gem::Version
317
298
  version: '0'
318
299
  requirements: []
319
- rubygems_version: 3.0.6
300
+ rubygems_version: 3.0.3
320
301
  signing_key:
321
302
  specification_version: 4
322
303
  summary: The ruby client for Recurly's V3 API
@@ -1,39 +0,0 @@
1
- require "openssl"
2
-
3
- module Recurly
4
- class Client
5
- module NetHttpPersistentAdapter
6
- protected
7
-
8
- def configure_net_adapter(faraday)
9
- faraday.adapter :net_http_persistent do |http|
10
- # yields Net::HTTP::Persistent
11
- # for net-http-persistent 2.X, alternative is for 3.X
12
- if http.respond_to? :keep_alive_timeout
13
- http.keep_alive_timeout = 60
14
- else
15
- http.keep_alive = 60
16
- end
17
- end
18
- end
19
- end
20
-
21
- module NetHttpAdapter
22
- protected
23
-
24
- def configure_net_adapter(faraday)
25
- faraday.adapter :net_http do |http|
26
- # yields Net::HTTP
27
- end
28
- end
29
- end
30
-
31
- include NetHttpAdapter
32
-
33
- begin
34
- require "net/http/persistent"
35
- include NetHttpPersistentAdapter
36
- rescue LoadError
37
- end
38
- end
39
- end