bongloy 4.21.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circleci/config.yml +76 -0
- data/.editorconfig +10 -0
- data/.gitattributes +4 -0
- data/.github/ISSUE_TEMPLATE.md +5 -0
- data/.github/README.md +79 -0
- data/.github/pull.yml +5 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +43 -0
- data/.rubocop_todo.yml +38 -0
- data/.travis.yml +43 -0
- data/.vscode/extensions.json +7 -0
- data/.vscode/settings.json +8 -0
- data/CHANGELOG.md +770 -0
- data/CONTRIBUTORS +3 -0
- data/Gemfile +39 -0
- data/History.txt +1 -0
- data/LICENSE +21 -0
- data/README.md +282 -0
- data/Rakefile +36 -0
- data/VERSION +1 -0
- data/bin/stripe-console +16 -0
- data/bongloy.gemspec +37 -0
- data/lib/bongloy.rb +7 -0
- data/lib/data/ca-certificates.crt +4043 -0
- data/lib/stripe.rb +208 -0
- data/lib/stripe/api_operations/create.rb +12 -0
- data/lib/stripe/api_operations/delete.rb +35 -0
- data/lib/stripe/api_operations/list.rb +30 -0
- data/lib/stripe/api_operations/nested_resource.rb +70 -0
- data/lib/stripe/api_operations/request.rb +53 -0
- data/lib/stripe/api_operations/save.rb +94 -0
- data/lib/stripe/api_resource.rb +107 -0
- data/lib/stripe/errors.rb +156 -0
- data/lib/stripe/list_object.rb +110 -0
- data/lib/stripe/oauth.rb +63 -0
- data/lib/stripe/object_types.rb +98 -0
- data/lib/stripe/resources.rb +79 -0
- data/lib/stripe/resources/account.rb +174 -0
- data/lib/stripe/resources/account_link.rb +9 -0
- data/lib/stripe/resources/alipay_account.rb +34 -0
- data/lib/stripe/resources/apple_pay_domain.rb +16 -0
- data/lib/stripe/resources/application_fee.rb +24 -0
- data/lib/stripe/resources/application_fee_refund.rb +30 -0
- data/lib/stripe/resources/balance.rb +7 -0
- data/lib/stripe/resources/balance_transaction.rb +13 -0
- data/lib/stripe/resources/bank_account.rb +42 -0
- data/lib/stripe/resources/bitcoin_receiver.rb +23 -0
- data/lib/stripe/resources/bitcoin_transaction.rb +15 -0
- data/lib/stripe/resources/capability.rb +33 -0
- data/lib/stripe/resources/card.rb +37 -0
- data/lib/stripe/resources/charge.rb +84 -0
- data/lib/stripe/resources/checkout/session.rb +11 -0
- data/lib/stripe/resources/country_spec.rb +9 -0
- data/lib/stripe/resources/coupon.rb +12 -0
- data/lib/stripe/resources/credit_note.rb +18 -0
- data/lib/stripe/resources/customer.rb +95 -0
- data/lib/stripe/resources/customer_balance_transaction.rb +30 -0
- data/lib/stripe/resources/discount.rb +7 -0
- data/lib/stripe/resources/dispute.rb +23 -0
- data/lib/stripe/resources/ephemeral_key.rb +19 -0
- data/lib/stripe/resources/event.rb +9 -0
- data/lib/stripe/resources/exchange_rate.rb +9 -0
- data/lib/stripe/resources/file.rb +44 -0
- data/lib/stripe/resources/file_link.rb +11 -0
- data/lib/stripe/resources/invoice.rb +48 -0
- data/lib/stripe/resources/invoice_item.rb +12 -0
- data/lib/stripe/resources/invoice_line_item.rb +7 -0
- data/lib/stripe/resources/issuer_fraud_record.rb +9 -0
- data/lib/stripe/resources/issuing/authorization.rb +25 -0
- data/lib/stripe/resources/issuing/card.rb +20 -0
- data/lib/stripe/resources/issuing/card_details.rb +9 -0
- data/lib/stripe/resources/issuing/cardholder.rb +13 -0
- data/lib/stripe/resources/issuing/dispute.rb +13 -0
- data/lib/stripe/resources/issuing/transaction.rb +12 -0
- data/lib/stripe/resources/login_link.rb +14 -0
- data/lib/stripe/resources/order.rb +32 -0
- data/lib/stripe/resources/order_return.rb +9 -0
- data/lib/stripe/resources/payment_intent.rb +30 -0
- data/lib/stripe/resources/payment_method.rb +24 -0
- data/lib/stripe/resources/payout.rb +24 -0
- data/lib/stripe/resources/person.rb +31 -0
- data/lib/stripe/resources/plan.rb +12 -0
- data/lib/stripe/resources/product.rb +12 -0
- data/lib/stripe/resources/radar/early_fraud_warning.rb +11 -0
- data/lib/stripe/resources/radar/value_list.rb +14 -0
- data/lib/stripe/resources/radar/value_list_item.rb +13 -0
- data/lib/stripe/resources/recipient.rb +17 -0
- data/lib/stripe/resources/recipient_transfer.rb +7 -0
- data/lib/stripe/resources/refund.rb +11 -0
- data/lib/stripe/resources/reporting/report_run.rb +12 -0
- data/lib/stripe/resources/reporting/report_type.rb +12 -0
- data/lib/stripe/resources/reversal.rb +29 -0
- data/lib/stripe/resources/review.rb +16 -0
- data/lib/stripe/resources/setup_intent.rb +24 -0
- data/lib/stripe/resources/sigma/scheduled_query_run.rb +15 -0
- data/lib/stripe/resources/sku.rb +12 -0
- data/lib/stripe/resources/source.rb +42 -0
- data/lib/stripe/resources/source_transaction.rb +7 -0
- data/lib/stripe/resources/subscription.rb +25 -0
- data/lib/stripe/resources/subscription_item.rb +17 -0
- data/lib/stripe/resources/subscription_schedule.rb +32 -0
- data/lib/stripe/resources/subscription_schedule_revision.rb +34 -0
- data/lib/stripe/resources/tax_id.rb +26 -0
- data/lib/stripe/resources/tax_rate.rb +11 -0
- data/lib/stripe/resources/terminal/connection_token.rb +11 -0
- data/lib/stripe/resources/terminal/location.rb +14 -0
- data/lib/stripe/resources/terminal/reader.rb +14 -0
- data/lib/stripe/resources/three_d_secure.rb +13 -0
- data/lib/stripe/resources/token.rb +9 -0
- data/lib/stripe/resources/topup.rb +18 -0
- data/lib/stripe/resources/transfer.rb +27 -0
- data/lib/stripe/resources/usage_record.rb +23 -0
- data/lib/stripe/resources/usage_record_summary.rb +7 -0
- data/lib/stripe/resources/webhook_endpoint.rb +12 -0
- data/lib/stripe/singleton_api_resource.rb +26 -0
- data/lib/stripe/stripe_client.rb +686 -0
- data/lib/stripe/stripe_object.rb +583 -0
- data/lib/stripe/stripe_response.rb +50 -0
- data/lib/stripe/util.rb +336 -0
- data/lib/stripe/version.rb +5 -0
- data/lib/stripe/webhook.rb +90 -0
- data/stripe.gemspec +37 -0
- data/test/api_stub_helpers.rb +1 -0
- data/test/openapi/README.md +9 -0
- data/test/stripe/account_link_test.rb +18 -0
- data/test/stripe/account_test.rb +428 -0
- data/test/stripe/alipay_account_test.rb +37 -0
- data/test/stripe/api_operations_test.rb +80 -0
- data/test/stripe/api_resource_test.rb +544 -0
- data/test/stripe/apple_pay_domain_test.rb +46 -0
- data/test/stripe/application_fee_refund_test.rb +37 -0
- data/test/stripe/application_fee_test.rb +58 -0
- data/test/stripe/balance_test.rb +13 -0
- data/test/stripe/bank_account_test.rb +36 -0
- data/test/stripe/capability_test.rb +45 -0
- data/test/stripe/charge_test.rb +80 -0
- data/test/stripe/checkout/session_test.rb +41 -0
- data/test/stripe/country_spec_test.rb +20 -0
- data/test/stripe/coupon_test.rb +61 -0
- data/test/stripe/credit_note_test.rb +61 -0
- data/test/stripe/customer_balance_transaction_test.rb +37 -0
- data/test/stripe/customer_card_test.rb +42 -0
- data/test/stripe/customer_test.rb +269 -0
- data/test/stripe/dispute_test.rb +51 -0
- data/test/stripe/ephemeral_key_test.rb +93 -0
- data/test/stripe/errors_test.rb +20 -0
- data/test/stripe/exchange_rate_test.rb +20 -0
- data/test/stripe/file_link_test.rb +41 -0
- data/test/stripe/file_test.rb +97 -0
- data/test/stripe/file_upload_test.rb +79 -0
- data/test/stripe/invoice_item_test.rb +66 -0
- data/test/stripe/invoice_line_item_test.rb +8 -0
- data/test/stripe/invoice_test.rb +213 -0
- data/test/stripe/issuer_fraud_record_test.rb +20 -0
- data/test/stripe/issuing/authorization_test.rb +72 -0
- data/test/stripe/issuing/card_test.rb +62 -0
- data/test/stripe/issuing/cardholder_test.rb +53 -0
- data/test/stripe/issuing/dispute_test.rb +45 -0
- data/test/stripe/issuing/transaction_test.rb +48 -0
- data/test/stripe/list_object_test.rb +156 -0
- data/test/stripe/login_link_test.rb +37 -0
- data/test/stripe/oauth_test.rb +88 -0
- data/test/stripe/order_return_test.rb +21 -0
- data/test/stripe/order_test.rb +82 -0
- data/test/stripe/payment_intent_test.rb +107 -0
- data/test/stripe/payment_method_test.rb +84 -0
- data/test/stripe/payout_test.rb +57 -0
- data/test/stripe/person_test.rb +46 -0
- data/test/stripe/plan_test.rb +98 -0
- data/test/stripe/product_test.rb +59 -0
- data/test/stripe/radar/early_fraud_warning_test.rb +22 -0
- data/test/stripe/radar/value_list_item_test.rb +48 -0
- data/test/stripe/radar/value_list_test.rb +61 -0
- data/test/stripe/recipient_test.rb +62 -0
- data/test/stripe/refund_test.rb +39 -0
- data/test/stripe/reporting/report_run_test.rb +33 -0
- data/test/stripe/reporting/report_type_test.rb +22 -0
- data/test/stripe/reversal_test.rb +43 -0
- data/test/stripe/review_test.rb +27 -0
- data/test/stripe/setup_intent_test.rb +84 -0
- data/test/stripe/sigma/scheduled_query_run_test.rb +22 -0
- data/test/stripe/sku_test.rb +60 -0
- data/test/stripe/source_test.rb +99 -0
- data/test/stripe/source_transaction_test.rb +19 -0
- data/test/stripe/stripe_client_test.rb +842 -0
- data/test/stripe/stripe_object_test.rb +525 -0
- data/test/stripe/stripe_response_test.rb +49 -0
- data/test/stripe/subscription_item_test.rb +63 -0
- data/test/stripe/subscription_schedule_revision_test.rb +37 -0
- data/test/stripe/subscription_schedule_test.rb +116 -0
- data/test/stripe/subscription_test.rb +80 -0
- data/test/stripe/tax_id_test.rb +31 -0
- data/test/stripe/tax_rate_test.rb +43 -0
- data/test/stripe/terminal/connection_token_test.rb +16 -0
- data/test/stripe/terminal/location_test.rb +68 -0
- data/test/stripe/terminal/reader_test.rb +62 -0
- data/test/stripe/three_d_secure_test.rb +23 -0
- data/test/stripe/topup_test.rb +62 -0
- data/test/stripe/transfer_test.rb +88 -0
- data/test/stripe/usage_record_summary_test.rb +19 -0
- data/test/stripe/usage_record_test.rb +28 -0
- data/test/stripe/util_test.rb +402 -0
- data/test/stripe/webhook_endpoint_test.rb +59 -0
- data/test/stripe/webhook_test.rb +96 -0
- data/test/stripe_mock.rb +77 -0
- data/test/stripe_test.rb +63 -0
- data/test/test_data.rb +61 -0
- data/test/test_helper.rb +71 -0
- metadata +372 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 39d2be025c8a97aa60e9ff24e6383b48f8fd5a7d8d232fbe3d4725f5290487e7
|
4
|
+
data.tar.gz: d73146af2fbfeb3ddfc4b54f5ffd615747e47c889857d50ecfad6e690fa9caef
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 36936783f7c018d38c5bab8510ff38a39436577ec07658e1d8111bca7ea108a8a32b6d31ce9dfc988b2b12ba7128bf87e7af8a1d0b82c38a4217a828dec3f76d
|
7
|
+
data.tar.gz: 249235e1565f0442c9c4d2ffdca4e3be78429e3243b4b42738b26518fb334af8128d8584297cfbcce7d4d34f98e8c29fe747216e47433139bb1512141348c737
|
@@ -0,0 +1,76 @@
|
|
1
|
+
version: 2
|
2
|
+
jobs:
|
3
|
+
build:
|
4
|
+
docker:
|
5
|
+
- image: circleci/ruby:latest
|
6
|
+
|
7
|
+
working_directory: ~/bongloy-ruby
|
8
|
+
|
9
|
+
steps:
|
10
|
+
- checkout
|
11
|
+
|
12
|
+
- run:
|
13
|
+
name: Install stripe-mock
|
14
|
+
environment:
|
15
|
+
STRIPE_MOCK_VERSION: "0.60.0"
|
16
|
+
|
17
|
+
command: |
|
18
|
+
if [ ! -d "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}" ]; then
|
19
|
+
mkdir -p stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/
|
20
|
+
curl -L "https://github.com/stripe/stripe-mock/releases/download/v${STRIPE_MOCK_VERSION}/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -o "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz"
|
21
|
+
tar -zxf "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -C "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/"
|
22
|
+
fi
|
23
|
+
echo "export STRIPE_MOCK_VERSION=$STRIPE_MOCK_VERSION" >> $BASH_ENV
|
24
|
+
echo "export PATH='${PATH}:${PWD}/stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}'" >> $BASH_ENV
|
25
|
+
source $BASH_ENV
|
26
|
+
|
27
|
+
- run:
|
28
|
+
name: Run stripe-mock
|
29
|
+
command: |
|
30
|
+
stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock > /dev/null
|
31
|
+
background: true
|
32
|
+
|
33
|
+
- run:
|
34
|
+
name: Install Dependencies
|
35
|
+
command: |
|
36
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
37
|
+
|
38
|
+
- run:
|
39
|
+
name: Run Tests
|
40
|
+
command: |
|
41
|
+
bundle exec rake
|
42
|
+
|
43
|
+
publish-gem:
|
44
|
+
docker:
|
45
|
+
- image: circleci/ruby:latest
|
46
|
+
|
47
|
+
working_directory: ~/bongloy-ruby
|
48
|
+
|
49
|
+
steps:
|
50
|
+
- checkout
|
51
|
+
- run:
|
52
|
+
name: Setup Rubygems
|
53
|
+
command: |
|
54
|
+
mkdir -p ~/.gem
|
55
|
+
echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
|
56
|
+
chmod 0600 /home/circleci/.gem/credentials
|
57
|
+
|
58
|
+
- run:
|
59
|
+
name: Publish to Rubygems
|
60
|
+
command: |
|
61
|
+
gem build bongloy.gemspec
|
62
|
+
gem push *.gem || true
|
63
|
+
|
64
|
+
workflows:
|
65
|
+
version: 2
|
66
|
+
build:
|
67
|
+
jobs:
|
68
|
+
- build
|
69
|
+
- publish-gem:
|
70
|
+
requires:
|
71
|
+
- build
|
72
|
+
filters:
|
73
|
+
branches:
|
74
|
+
only: master
|
75
|
+
tags:
|
76
|
+
only: /.*/
|
data/.editorconfig
ADDED
data/.gitattributes
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
Please only file issues here that you believe represent actual bugs or feature requests for the Stripe Ruby library.
|
2
|
+
|
3
|
+
If you're having general trouble with your Stripe integration, please reach out to support using the form at https://support.stripe.com/ (preferred) or via email to support@stripe.com.
|
4
|
+
|
5
|
+
If you are reporting a bug, please include your Ruby version and the version of the Stripe Ruby library you're using, as well as any other details that may be helpful in reproducing the problem.
|
data/.github/README.md
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
# Bongloy Ruby Library
|
2
|
+
|
3
|
+
[![CircleCI](https://circleci.com/gh/bongloy/bongloy-ruby.svg?style=svg)](https://circleci.com/gh/bongloy/bongloy-ruby)
|
4
|
+
[![Coverage Status](https://coveralls.io/repos/github/bongloy/bongloy-ruby/badge.svg?branch=bongloy_compatibility)](https://coveralls.io/github/bongloy/bongloy-ruby?branch=bongloy_compatibility)
|
5
|
+
|
6
|
+
This is the official Ruby library for [Bongloy Payment Gateway][bongloy-payment-gateway].
|
7
|
+
It's a fork of [Stripe's Ruby Library][stripe-ruby-library], built by [Stripe][stripe-payment-gateway] and automatically kept to date by [pull][pull-github-app]. Note that [Bongloy's API][bongloy-api-reference] is mostly compatible with [Stripe's API][stripe-api-reference], however not all features of Stripe are implemented in Bongloy. Refer to the [Bongloy Documentation][bongloy-documentation] for more information. We thank Stripe for providing and maintaining this awesome library [free and open source][stripe-open-source-license].
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'bongloy'
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
$ bundle install
|
20
|
+
|
21
|
+
Or install it yourself as:
|
22
|
+
|
23
|
+
$ gem install bongloy
|
24
|
+
|
25
|
+
## Usage
|
26
|
+
|
27
|
+
The library needs to be configured with your account's secret key which is
|
28
|
+
available in your [Bongloy Dashboard][bongloy-api-keys]. Set `Bongloy.api_key` to its
|
29
|
+
value:
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
require "bongloy"
|
33
|
+
Bongloy.api_key = "sk_test_..."
|
34
|
+
|
35
|
+
# list charges
|
36
|
+
Bongloy::Charge.list()
|
37
|
+
|
38
|
+
# retrieve single charge
|
39
|
+
Bongloy::Charge.retrieve(
|
40
|
+
"6f3c1e38-d8a9-49c1-86b8-886c2b66eedb"
|
41
|
+
)
|
42
|
+
```
|
43
|
+
|
44
|
+
### Per-request Configuration
|
45
|
+
|
46
|
+
For apps that need to authenticate on behalf of another account during the lifetime of a process, like
|
47
|
+
one that uses [Bongloy Connect][bongloy-connect], it's also possible to set a
|
48
|
+
per-request account:
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
require "bongloy"
|
52
|
+
|
53
|
+
Bongloy::Charge.list(
|
54
|
+
{},
|
55
|
+
{
|
56
|
+
api_key: "sk_test_...",
|
57
|
+
bongloy_account: "c756a678-0f2b-4b81-a8f1-8bb2ed80ece5"
|
58
|
+
}
|
59
|
+
)
|
60
|
+
|
61
|
+
Bongloy::Charge.retrieve(
|
62
|
+
"6f3c1e38-d8a9-49c1-86b8-886c2b66eedb",
|
63
|
+
{
|
64
|
+
api_key: "sk_test_...",
|
65
|
+
bongloy_account: "c756a678-0f2b-4b81-a8f1-8bb2ed80ece5"
|
66
|
+
}
|
67
|
+
)
|
68
|
+
```
|
69
|
+
|
70
|
+
[bongloy-api-keys]: https://sandbox.bongloy.com/dashboard/api_keys
|
71
|
+
[bongloy-payment-gateway]: https://www.bongloy.com
|
72
|
+
[stripe-ruby-library]: https://github.com/stripe/stripe-ruby
|
73
|
+
[stripe-payment-gateway]: https://stripe.com
|
74
|
+
[pull-github-app]: https://github.com/wei/pull
|
75
|
+
[bongloy-documentation]: https://sandbox.bongloy.com/documentation
|
76
|
+
[stripe-api-reference]: https://stripe.com/docs/api
|
77
|
+
[bongloy-api-reference]: https://sandbox.bongloy.com/documentation#bongloy-api-reference
|
78
|
+
[stripe-open-source-license]: https://github.com/stripe/stripe-ruby/blob/master/LICENSE
|
79
|
+
[bongloy-connect]: https://sandbox.bongloy.com/documentation#bongloy-connect
|
data/.github/pull.yml
ADDED
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
DisplayCopNames: true
|
5
|
+
TargetRubyVersion: 2.1
|
6
|
+
|
7
|
+
Layout/CaseIndentation:
|
8
|
+
EnforcedStyle: end
|
9
|
+
|
10
|
+
Layout/IndentArray:
|
11
|
+
EnforcedStyle: consistent
|
12
|
+
|
13
|
+
Layout/IndentHash:
|
14
|
+
EnforcedStyle: consistent
|
15
|
+
|
16
|
+
Metrics/LineLength:
|
17
|
+
Exclude:
|
18
|
+
- "test/**/*.rb"
|
19
|
+
- "lib/stripe/resources/**/*.rb"
|
20
|
+
|
21
|
+
Metrics/MethodLength:
|
22
|
+
# There's ~2 long methods in `StripeClient`. If we want to truncate those a
|
23
|
+
# little, we could move this to be closer to ~30 (but the default of 10 is
|
24
|
+
# probably too short).
|
25
|
+
Max: 50
|
26
|
+
|
27
|
+
Metrics/ModuleLength:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
Style/AccessModifierDeclarations:
|
31
|
+
EnforcedStyle: inline
|
32
|
+
|
33
|
+
Style/FrozenStringLiteralComment:
|
34
|
+
EnforcedStyle: always
|
35
|
+
|
36
|
+
Style/StringLiterals:
|
37
|
+
EnforcedStyle: double_quotes
|
38
|
+
|
39
|
+
Style/TrailingCommaInArrayLiteral:
|
40
|
+
EnforcedStyleForMultiline: consistent_comma
|
41
|
+
|
42
|
+
Style/TrailingCommaInHashLiteral:
|
43
|
+
EnforcedStyleForMultiline: consistent_comma
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2019-05-24 10:18:48 -0700 using RuboCop version 0.57.2.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 20
|
10
|
+
Metrics/AbcSize:
|
11
|
+
Max: 53
|
12
|
+
|
13
|
+
# Offense count: 31
|
14
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
15
|
+
Metrics/BlockLength:
|
16
|
+
Max: 498
|
17
|
+
|
18
|
+
# Offense count: 11
|
19
|
+
# Configuration parameters: CountComments.
|
20
|
+
Metrics/ClassLength:
|
21
|
+
Max: 673
|
22
|
+
|
23
|
+
# Offense count: 12
|
24
|
+
Metrics/CyclomaticComplexity:
|
25
|
+
Max: 15
|
26
|
+
|
27
|
+
# Offense count: 6
|
28
|
+
# Configuration parameters: CountKeywordArgs.
|
29
|
+
Metrics/ParameterLists:
|
30
|
+
Max: 7
|
31
|
+
|
32
|
+
# Offense count: 7
|
33
|
+
Metrics/PerceivedComplexity:
|
34
|
+
Max: 17
|
35
|
+
|
36
|
+
# Offense count: 84
|
37
|
+
Style/Documentation:
|
38
|
+
Enabled: false
|
data/.travis.yml
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
rvm:
|
4
|
+
- 2.1
|
5
|
+
- 2.2
|
6
|
+
- 2.3
|
7
|
+
- 2.4
|
8
|
+
- 2.5
|
9
|
+
- 2.6
|
10
|
+
- jruby-9.0.5.0
|
11
|
+
|
12
|
+
notifications:
|
13
|
+
email:
|
14
|
+
on_success: never
|
15
|
+
|
16
|
+
sudo: false
|
17
|
+
|
18
|
+
env:
|
19
|
+
global:
|
20
|
+
# If changing this number, please also change it in `test/test_helper.rb`.
|
21
|
+
- STRIPE_MOCK_VERSION=0.60.0
|
22
|
+
|
23
|
+
cache:
|
24
|
+
directories:
|
25
|
+
- stripe-mock
|
26
|
+
|
27
|
+
before_install:
|
28
|
+
# Install bundler 1.x, because we need to support Ruby 2.1 for now
|
29
|
+
- gem install bundler -v "~> 1.0"
|
30
|
+
# Unpack and start stripe-mock so that the test suite can talk to it
|
31
|
+
- |
|
32
|
+
if [ ! -d "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}" ]; then
|
33
|
+
mkdir -p stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/
|
34
|
+
curl -L "https://github.com/stripe/stripe-mock/releases/download/v${STRIPE_MOCK_VERSION}/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -o "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz"
|
35
|
+
tar -zxf "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -C "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/"
|
36
|
+
fi
|
37
|
+
- |
|
38
|
+
stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock > /dev/null &
|
39
|
+
STRIPE_MOCK_PID=$!
|
40
|
+
- export PATH="${PATH}:${PWD}/stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}"
|
41
|
+
|
42
|
+
script:
|
43
|
+
- bundle exec rake
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,770 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 4.21.3 - 2019-07-15
|
4
|
+
* [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
|
5
|
+
|
6
|
+
## 4.21.2 - 2019-07-05
|
7
|
+
* [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
|
8
|
+
|
9
|
+
## 4.21.1 - 2019-07-04
|
10
|
+
* [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
|
11
|
+
|
12
|
+
## 4.21.0 - 2019-06-28
|
13
|
+
* [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
|
14
|
+
|
15
|
+
## 4.20.1 - 2019-06-28
|
16
|
+
* [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
|
17
|
+
|
18
|
+
## 4.20.0 - 2019-06-24
|
19
|
+
* [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
|
20
|
+
|
21
|
+
## 4.19.0 - 2019-06-17
|
22
|
+
* [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
|
23
|
+
|
24
|
+
## 4.18.1 - 2019-05-27
|
25
|
+
* [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
|
26
|
+
|
27
|
+
## 4.18.0 - 2019-05-23
|
28
|
+
* [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
|
29
|
+
|
30
|
+
## 4.17.0 - 2019-05-14
|
31
|
+
* [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
|
32
|
+
|
33
|
+
## 4.16.0 - 2019-04-24
|
34
|
+
* [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
|
35
|
+
|
36
|
+
## 4.15.0 - 2019-04-22
|
37
|
+
* [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
|
38
|
+
|
39
|
+
## 4.14.0 - 2019-04-18
|
40
|
+
* [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
|
41
|
+
|
42
|
+
## 4.13.0 - 2019-04-16
|
43
|
+
* [#766](https://github.com/stripe/stripe-ruby/pull/766) Relax constraints on objects that we'll accept as a file (now they just need to respond to `#read`)
|
44
|
+
|
45
|
+
## 4.12.0 - 2019-04-02
|
46
|
+
* [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
|
47
|
+
* [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
|
48
|
+
|
49
|
+
## 4.11.0 - 2019-03-26
|
50
|
+
* [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
|
51
|
+
|
52
|
+
## 4.10.0 - 2019-03-18
|
53
|
+
* [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
|
54
|
+
* [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
|
55
|
+
* [#748](https://github.com/stripe/stripe-ruby/pull/748) Add support for deleting a Terminal `Location` and `Reader`
|
56
|
+
|
57
|
+
## 4.9.1 - 2019-03-18
|
58
|
+
* [#750](https://github.com/stripe/stripe-ruby/pull/750) Catch error and warn if unable to remove a method
|
59
|
+
|
60
|
+
## 4.9.0 - 2019-02-12
|
61
|
+
* [#739](https://github.com/stripe/stripe-ruby/pull/739) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
|
62
|
+
|
63
|
+
## 4.8.1 - 2019-02-11
|
64
|
+
* [#743](https://github.com/stripe/stripe-ruby/pull/743) Fix bug in file uploading introduced in #741
|
65
|
+
|
66
|
+
## 4.8.0 - 2019-02-03
|
67
|
+
* [#741](https://github.com/stripe/stripe-ruby/pull/741) Use `FaradayStripeEncoder` to encode all parameter styles
|
68
|
+
|
69
|
+
## 4.7.1 - 2019-02-01
|
70
|
+
* [#740](https://github.com/stripe/stripe-ruby/pull/740) Fix query encoding for integer-indexed maps
|
71
|
+
|
72
|
+
## 4.7.0 - 2019-01-23
|
73
|
+
* [#735](https://github.com/stripe/stripe-ruby/pull/735) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
|
74
|
+
|
75
|
+
## 4.6.0 - 2019-01-21
|
76
|
+
* [#736](https://github.com/stripe/stripe-ruby/pull/736) Properly serialize `individual` on `Account` objects
|
77
|
+
|
78
|
+
## 4.5.0 - 2019-01-02
|
79
|
+
* [#719](https://github.com/stripe/stripe-ruby/pull/719) Generate OAuth authorize URLs for Express accounts as well as standard
|
80
|
+
|
81
|
+
## 4.4.1 - 2018-12-31
|
82
|
+
* [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
|
83
|
+
|
84
|
+
## 4.4.0 - 2018-12-21
|
85
|
+
* [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
|
86
|
+
|
87
|
+
## 4.3.0 - 2018-12-10
|
88
|
+
* [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
|
89
|
+
|
90
|
+
## 4.2.0 - 2018-11-28
|
91
|
+
* [#705](https://github.com/stripe/stripe-ruby/pull/705) Add support for the `Review` APIs
|
92
|
+
|
93
|
+
## 4.1.0 - 2018-11-27
|
94
|
+
* [#695](https://github.com/stripe/stripe-ruby/pull/695) Add support for `ValueList` and `ValueListItem` for Radar
|
95
|
+
|
96
|
+
## 4.0.3 - 2018-11-19
|
97
|
+
* [#703](https://github.com/stripe/stripe-ruby/pull/703) Don't use `Net::HTTP::Persistent` on Windows where it's not well supported
|
98
|
+
|
99
|
+
## 4.0.2 - 2018-11-16
|
100
|
+
* [#701](https://github.com/stripe/stripe-ruby/pull/701) Require minimum Faraday 0.13 for proper support of persistent connections
|
101
|
+
|
102
|
+
## 4.0.1 - 2018-11-15
|
103
|
+
* [#699](https://github.com/stripe/stripe-ruby/pull/699) Only send telemetry if `Request-Id` was present in the response
|
104
|
+
|
105
|
+
## 4.0.0 - 2018-11-15
|
106
|
+
* [#698](https://github.com/stripe/stripe-ruby/pull/698) Use persistent connections by default through `Net::HTTP::Persistent`
|
107
|
+
* [#698](https://github.com/stripe/stripe-ruby/pull/698) Drop support for Ruby 2.0 (which we consider a breaking change here)
|
108
|
+
|
109
|
+
## 3.31.1 - 2018-11-12
|
110
|
+
* [#697](https://github.com/stripe/stripe-ruby/pull/697) Send telemetry in milliseconds specifically
|
111
|
+
|
112
|
+
## 3.31.0 - 2018-11-12
|
113
|
+
* [#696](https://github.com/stripe/stripe-ruby/pull/696) Add configurable telemetry to gather information on client-side request latency
|
114
|
+
|
115
|
+
## 3.30.0 - 2018-11-08
|
116
|
+
* [#693](https://github.com/stripe/stripe-ruby/pull/693) Add new API endpoints for the `Invoice` resource.
|
117
|
+
|
118
|
+
## 3.29.0 - 2018-10-30
|
119
|
+
* [#692](https://github.com/stripe/stripe-ruby/pull/692) Add support for the `Person` resource
|
120
|
+
* [#694](https://github.com/stripe/stripe-ruby/pull/694) Add support for the `WebhookEndpoint` resource
|
121
|
+
|
122
|
+
## 3.28.0 - 2018-09-24
|
123
|
+
* [#690](https://github.com/stripe/stripe-ruby/pull/690) Add support for Stripe Terminal
|
124
|
+
|
125
|
+
## 3.27.0 - 2018-09-24
|
126
|
+
* [#689](https://github.com/stripe/stripe-ruby/pull/689) Rename `FileUpload` to `File`
|
127
|
+
|
128
|
+
## 3.26.1 - 2018-09-14
|
129
|
+
* [#688](https://github.com/stripe/stripe-ruby/pull/688) Fix hash equality on `StripeObject`
|
130
|
+
|
131
|
+
## 3.26.0 - 2018-09-05
|
132
|
+
* [#681](https://github.com/stripe/stripe-ruby/pull/681) Add support for reporting resources
|
133
|
+
|
134
|
+
## 3.25.0 - 2018-08-28
|
135
|
+
* [#678](https://github.com/stripe/stripe-ruby/pull/678) Allow payment intent `#cancel`, `#capture`, and `#confirm` to take their own parameters
|
136
|
+
|
137
|
+
## 3.24.0 - 2018-08-27
|
138
|
+
* [#675](https://github.com/stripe/stripe-ruby/pull/675) Remove support for `BitcoinReceiver` write-actions
|
139
|
+
|
140
|
+
## 3.23.0 - 2018-08-23
|
141
|
+
* [#676](https://github.com/stripe/stripe-ruby/pull/676) Add support for usage record summaries
|
142
|
+
|
143
|
+
## 3.22.0 - 2018-08-15
|
144
|
+
* [#674](https://github.com/stripe/stripe-ruby/pull/674) Use integer-indexed encoding for all arrays
|
145
|
+
|
146
|
+
## 3.21.0 - 2018-08-03
|
147
|
+
* [#671](https://github.com/stripe/stripe-ruby/pull/671) Add cancel support for topups
|
148
|
+
|
149
|
+
## 3.20.0 - 2018-08-03
|
150
|
+
* [#669](https://github.com/stripe/stripe-ruby/pull/669) Add support for file links
|
151
|
+
|
152
|
+
## 3.19.0 - 2018-07-27
|
153
|
+
* [#666](https://github.com/stripe/stripe-ruby/pull/666) Add support for scheduled query runs (`Stripe::Sigma::ScheduledQueryRun`) for Sigma
|
154
|
+
|
155
|
+
## 3.18.0 - 2018-07-26
|
156
|
+
* [#665](https://github.com/stripe/stripe-ruby/pull/665) Add support for Stripe Issuing
|
157
|
+
|
158
|
+
## 3.17.2 - 2018-07-19
|
159
|
+
* [#664](https://github.com/stripe/stripe-ruby/pull/664) Don't colorize log output being sent to a configured logger
|
160
|
+
|
161
|
+
## 3.17.1 - 2018-07-19
|
162
|
+
* [#663](https://github.com/stripe/stripe-ruby/pull/663) Internal improvements to `ApiResource.class_url`
|
163
|
+
|
164
|
+
## 3.17.0 - 2018-06-28
|
165
|
+
* [#658](https://github.com/stripe/stripe-ruby/pull/658) Add support for `partner_id` from `Stripe.set_app_info`
|
166
|
+
|
167
|
+
## 3.16.0 - 2018-06-28
|
168
|
+
* [#657](https://github.com/stripe/stripe-ruby/pull/657) Add support for payment intents
|
169
|
+
|
170
|
+
## 3.15.0 - 2018-05-10
|
171
|
+
* [#649](https://github.com/stripe/stripe-ruby/pull/649) Freeze all string literals
|
172
|
+
|
173
|
+
## 3.14.0 - 2018-05-09
|
174
|
+
* [#645](https://github.com/stripe/stripe-ruby/pull/645) Add support for issuer fraud records
|
175
|
+
|
176
|
+
## 3.13.1 - 2018-05-07
|
177
|
+
* [#647](https://github.com/stripe/stripe-ruby/pull/647) Merge query parameters coming from path with `params` argument
|
178
|
+
|
179
|
+
## 3.13.0 - 2018-04-11
|
180
|
+
* [#498](https://github.com/stripe/stripe-ruby/pull/498) Add support for flexible billing primitives
|
181
|
+
|
182
|
+
## 3.12.1 - 2018-04-05
|
183
|
+
* [#636](https://github.com/stripe/stripe-ruby/pull/636) Fix a warning for uninitialized instance variable `@additive_params`
|
184
|
+
|
185
|
+
## 3.12.0 - 2018-04-05
|
186
|
+
* [#632](https://github.com/stripe/stripe-ruby/pull/632) Introduce `additive_object_param` so that non-`metadata` subobjects don't zero their keys as they're being replaced
|
187
|
+
|
188
|
+
## 3.11.0 - 2018-02-26
|
189
|
+
* [#628](https://github.com/stripe/stripe-ruby/pull/628) Add support for `code` attribute on all Stripe exceptions
|
190
|
+
|
191
|
+
## 3.10.0 - 2018-02-21
|
192
|
+
* [#627](https://github.com/stripe/stripe-ruby/pull/627) Add support for topups
|
193
|
+
|
194
|
+
## 3.9.2 - 2018-02-12
|
195
|
+
* [#625](https://github.com/stripe/stripe-ruby/pull/625) Skip calling `to_hash` for `nil`
|
196
|
+
|
197
|
+
## 3.9.1 - 2017-12-15
|
198
|
+
* [#616](https://github.com/stripe/stripe-ruby/pull/616) Support all file-like objects for uploads with duck typed checks on `path` and `read` (we previously whitelisted only certain classes)
|
199
|
+
|
200
|
+
## 3.9.0 - 2017-12-08
|
201
|
+
* [#613](https://github.com/stripe/stripe-ruby/pull/613) Introduce new `IdempotencyError` type for idempotency-specific failures
|
202
|
+
|
203
|
+
## 3.8.2 - 2017-12-07
|
204
|
+
* [#612](https://github.com/stripe/stripe-ruby/pull/612) Fix integer-indexed array encoding when sent as query parameter (subscription items can now be used when fetching an upcoming invoice)
|
205
|
+
|
206
|
+
## 3.8.1 - 2017-12-06
|
207
|
+
* [#611](https://github.com/stripe/stripe-ruby/pull/611) Support `Tempfile` (as well as `File`) in file uploads
|
208
|
+
|
209
|
+
## 3.8.0 - 2017-10-31
|
210
|
+
* [#606](https://github.com/stripe/stripe-ruby/pull/606) Support for exchange rates APIs
|
211
|
+
|
212
|
+
## 3.7.0 - 2017-10-26
|
213
|
+
* [#603](https://github.com/stripe/stripe-ruby/pull/603) Support for listing source transactions
|
214
|
+
|
215
|
+
## 3.6.0 - 2017-10-17
|
216
|
+
* [#597](https://github.com/stripe/stripe-ruby/pull/597) Add static methods to manipulate resources from parent
|
217
|
+
* `Account` gains methods for external accounts and login links (e.g. `.create_account`, `create_login_link`)
|
218
|
+
* `ApplicationFee` gains methods for refunds
|
219
|
+
* `Customer` gains methods for sources
|
220
|
+
* `Transfer` gains methods for reversals
|
221
|
+
|
222
|
+
## 3.5.3 - 2017-10-16
|
223
|
+
* [#594](https://github.com/stripe/stripe-ruby/pull/594) Make sure that `StripeObject`'s `#deep_copy` maintains original class
|
224
|
+
* [#595](https://github.com/stripe/stripe-ruby/pull/595) Allow `Object#method` to be called on `StripeObject` even if it conflicts with an accessor
|
225
|
+
* [#596](https://github.com/stripe/stripe-ruby/pull/596) Encode arrays as integer-indexed hashes where appropriate
|
226
|
+
* [#598](https://github.com/stripe/stripe-ruby/pull/598) Don't persist `idempotency_key` opt between requests
|
227
|
+
|
228
|
+
## 3.5.2 - 2017-10-13
|
229
|
+
* [#592](https://github.com/stripe/stripe-ruby/pull/592) Bring back `Marshal.dump/load` support with custom marshal encoder/decoder
|
230
|
+
|
231
|
+
## 3.5.1 - 2017-10-12
|
232
|
+
* [#591](https://github.com/stripe/stripe-ruby/pull/591) Use thread-local `StripeClient` instances for thread safety
|
233
|
+
|
234
|
+
## 3.5.0 - 2017-10-11
|
235
|
+
* [#589](https://github.com/stripe/stripe-ruby/pull/589) Rename source `delete` to `detach` (and deprecate the former)
|
236
|
+
|
237
|
+
## 3.4.1 - 2017-10-05
|
238
|
+
* [#586](https://github.com/stripe/stripe-ruby/pull/586) Log query strings as well as form bodies with STRIPE_LOG
|
239
|
+
* [#588](https://github.com/stripe/stripe-ruby/pull/588) Require minimum Faraday 0.10 for bug fix in parameter encoding
|
240
|
+
|
241
|
+
## 3.4.0 - 2017-09-20
|
242
|
+
* Mark legacy Bitcoin API as deprecated, and remove corresponding tests
|
243
|
+
* Mark recipients API as deprecated, and remove recipient card tests
|
244
|
+
|
245
|
+
## 3.3.2 - 2017-09-20
|
246
|
+
* Correct minimum required Ruby version in gemspec (it's 2.0.0)
|
247
|
+
|
248
|
+
## 3.3.1 - 2017-08-18
|
249
|
+
* Only parse webhook payload after verification to decrease likelihood of
|
250
|
+
attack
|
251
|
+
|
252
|
+
## 3.3.0 - 2017-08-11
|
253
|
+
* Add support for standard library logger interface with `Stripe.logger`
|
254
|
+
* Error logs now go to stderr if using `Stripe.log_level`/`STRIPE_LOG`
|
255
|
+
* `Stripe.log_level`/`STRIPE_LOG` now support `Stipe::LEVEL_ERROR`
|
256
|
+
|
257
|
+
## 3.2.0 - 2017-08-03
|
258
|
+
* Add logging for request retry account and `Stripe-Account` header
|
259
|
+
|
260
|
+
## 3.1.0 - 2017-08-03
|
261
|
+
* Implement request logging with `Stripe.log_level` and `STRIPE_LOG`
|
262
|
+
|
263
|
+
## 3.0.3 - 2017-07-28
|
264
|
+
* Revert `nil` to empty string coercion from 3.0.2
|
265
|
+
* Handle `invalid_client` OAuth error code
|
266
|
+
* Improve safety of error handling logic safer for unrecognized OAuth error codes
|
267
|
+
|
268
|
+
## 3.0.2 - 2017-07-12
|
269
|
+
**Important:** This version is non-functional and has been yanked in favor of 3.0.3.
|
270
|
+
* Convert `nil` to empty string when serializing parameters (instead of opaquely dropping it) -- NOTE: this change has since been reverted
|
271
|
+
|
272
|
+
## 3.0.1 - 2017-07-11
|
273
|
+
* Properties set with an API resource will now serialize that resource's ID if possible
|
274
|
+
* API resources will throw an ArgumentError on save if a property has been with an API resource that cannot be serialized
|
275
|
+
|
276
|
+
## 3.0.0 - 2017-06-27
|
277
|
+
* `#pay` on invoice now takes params as well as opts
|
278
|
+
|
279
|
+
## 2.12.0 - 2017-06-20
|
280
|
+
* Add support for ephemeral keys
|
281
|
+
|
282
|
+
## 2.11.0 - 2017-05-26
|
283
|
+
* Warn when keys that look like opts are included as parameters
|
284
|
+
|
285
|
+
## 2.10.0 - 2017-05-25
|
286
|
+
* Add support for account login links
|
287
|
+
|
288
|
+
## 2.9.0 - 2017-05-18
|
289
|
+
* Support for OAuth operations in `Stripe::OAuth`
|
290
|
+
|
291
|
+
## 2.8.0 - 2017-04-28
|
292
|
+
* Support for checking webhook signatures
|
293
|
+
|
294
|
+
## 2.7.0 - 2017-04-26
|
295
|
+
* Add model `InvoiceLineItem`
|
296
|
+
|
297
|
+
## 2.6.0 - 2017-04-26
|
298
|
+
* Add `OBJECT_NAME` constants to all API resources
|
299
|
+
|
300
|
+
## 2.5.0 - 2017-04-24
|
301
|
+
* Make `opts` argument in `Util.convert_to_stripe_object` optional
|
302
|
+
|
303
|
+
## 2.4.0 - 2017-04-18
|
304
|
+
* Add `Stripe.set_app_info` for use by plugin creators
|
305
|
+
|
306
|
+
## 2.3.0 - 2017-04-14
|
307
|
+
* Add question mark accessor when assigning boolean value to undefined field
|
308
|
+
|
309
|
+
## 2.2.1 - 2017-04-07
|
310
|
+
* Declare minimum required Faraday as 0.9
|
311
|
+
|
312
|
+
## 2.2.0 - 2017-04-06
|
313
|
+
* Add support for payouts and recipient transfers
|
314
|
+
|
315
|
+
## 2.1.0 - 2017-03-17
|
316
|
+
* Support for detaching sources from customers
|
317
|
+
|
318
|
+
## 2.0.3 - 2017-03-16
|
319
|
+
* Fix marshalling of `StripeObjects` that have an embedded client
|
320
|
+
|
321
|
+
## 2.0.2 - 2017-03-16
|
322
|
+
* Fix bad field reference when recovering from a JSON parsing problem
|
323
|
+
|
324
|
+
## 2.0.1 - 2017-02-22
|
325
|
+
* Fix multipart parameter encoding to repair broken file uploads
|
326
|
+
|
327
|
+
## 2.0.0 - 2017-02-14
|
328
|
+
* Drop support for Ruby 1.9
|
329
|
+
* Allow HTTP client that makes Stripe calls to be configured via Faraday
|
330
|
+
* Drop RestClient
|
331
|
+
* Switch to OpenAPI 2.0 spec and generated fixtures in test suite
|
332
|
+
* Switch to Webmock in test suite
|
333
|
+
|
334
|
+
## 1.58.0 - 2017-01-19
|
335
|
+
* Remove erroneously added list methods for `Source` model
|
336
|
+
|
337
|
+
## 1.57.1 - 2016-11-28
|
338
|
+
* Disallow sending protected fields along with API resource `.update`
|
339
|
+
|
340
|
+
## 1.57.0 - 2016-11-21
|
341
|
+
* Add retrieve method for 3-D Secure resources
|
342
|
+
|
343
|
+
## 1.56.2 - 2016-11-17
|
344
|
+
* Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
|
345
|
+
|
346
|
+
## 1.56.1 - 2016-11-09
|
347
|
+
* Fix (fairly serious) memory like in `StripeObject`
|
348
|
+
|
349
|
+
## 1.56.0 - 2016-10-24
|
350
|
+
* Add accessors for new fields added in `#update_attributes`
|
351
|
+
* Handle multi-plan subscriptions through new subscription items
|
352
|
+
* Handle 403 status codes from the API
|
353
|
+
|
354
|
+
## 1.55.1 - 2016-10-24
|
355
|
+
Identical to 1.56.0 above. I incorrectly cut a patch-level release.
|
356
|
+
|
357
|
+
## 1.55.0 - 2016-09-15
|
358
|
+
* Add support for Apple Pay domains
|
359
|
+
|
360
|
+
## 1.54.0 - 2016-09-01
|
361
|
+
* Whitelist errors that should be retried; scope to known socket and HTTP errors
|
362
|
+
|
363
|
+
## 1.53.0 - 2016-08-31
|
364
|
+
* Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
|
365
|
+
|
366
|
+
## 1.52.0 - 2016-08-30
|
367
|
+
* Make sure `Subscription`'s `source` is saved with its parent
|
368
|
+
|
369
|
+
## 1.51.1 - 2016-08-30
|
370
|
+
* Make sure `Account`'s `external_account` is saved with its parent
|
371
|
+
|
372
|
+
## 1.51.0 - 2016-08-26
|
373
|
+
* Error when an array of maps is detected that cannot be accurately encoded
|
374
|
+
* Start using strings for header names instead of symbols for better clarity
|
375
|
+
|
376
|
+
## 1.50.1 - 2016-08-25
|
377
|
+
* Fix encoding of arrays of maps where maps unequal sets of keys
|
378
|
+
|
379
|
+
## 1.50.0 - 2016-08-15
|
380
|
+
* Allow sources to be created
|
381
|
+
|
382
|
+
## 1.49.0 - 2016-07-28
|
383
|
+
* Add top-level `Source` model
|
384
|
+
|
385
|
+
## 1.48.0 - 2016-07-12
|
386
|
+
* Add `ThreeDSecure` model for 3-D secure payments
|
387
|
+
|
388
|
+
## 1.47.0 - 2016-07-11
|
389
|
+
* Allow rest-client version 2.0+ to be used with the gem
|
390
|
+
|
391
|
+
## 1.46.0 - 2016-07-07
|
392
|
+
* Allow retry when a 409 conflict is encountered
|
393
|
+
|
394
|
+
## 1.45.0 - 2016-07-07
|
395
|
+
* Do not send subresources when updating except when explicitly told to do so (see #433)
|
396
|
+
|
397
|
+
## 1.44.0 - 2016-06-29
|
398
|
+
* Add `update` class method to all resources that can be updated
|
399
|
+
|
400
|
+
## 1.43.1 - 2016-06-17
|
401
|
+
* Fix type of resource returned from `Order#return_order`
|
402
|
+
|
403
|
+
## 1.43.0 - 2016-05-20
|
404
|
+
* Allow Relay orders to be returned and add associated types
|
405
|
+
* Support Alipay account retrieval and deletion
|
406
|
+
|
407
|
+
## 1.42.0 - 2016-05-04
|
408
|
+
* Add support for the new /v1/subscriptions endpoint (retrieve, list, create, update, and delete)
|
409
|
+
|
410
|
+
## 1.41.0 - 2016-04-13
|
411
|
+
* Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
|
412
|
+
|
413
|
+
## 1.40.0 - 2016-04-06
|
414
|
+
* Fix bug that omitted subresources from serialization
|
415
|
+
|
416
|
+
## 1.39.0 - 2016-03-31
|
417
|
+
* Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
|
418
|
+
|
419
|
+
## 1.38.0 - 2016-03-18
|
420
|
+
* Allow `opts` to be passed to an API resource's `#save` method
|
421
|
+
|
422
|
+
## 1.37.0 - 2016-03-14
|
423
|
+
* Add `Account#reject` to support the new API feature
|
424
|
+
|
425
|
+
## 1.36.2 - 2016-03-14
|
426
|
+
* Fix reference to non-existent `#url` in `ListObject`
|
427
|
+
|
428
|
+
## 1.36.1 - 2016-03-04
|
429
|
+
* Fix serialization when subhash given to `#save` or `#update_attributes`
|
430
|
+
|
431
|
+
## 1.36.0 - 2016-02-08
|
432
|
+
* Add `CountrySpec` model for looking up country payment information
|
433
|
+
|
434
|
+
## 1.35.1 - 2016-02-03
|
435
|
+
* Add compatibility layer for old API versions on `Charge#refund`
|
436
|
+
|
437
|
+
## 1.35.0 - 2016-02-01
|
438
|
+
* Allow CA cert bundle location to be configured
|
439
|
+
* Updated bundled CA certs
|
440
|
+
|
441
|
+
## 1.34.0 - 2016-01-25
|
442
|
+
* Add support for deleting products and SKUs
|
443
|
+
|
444
|
+
## 1.33.1 - 2016-01-21
|
445
|
+
* Pass through arguments of `Charge#refund`
|
446
|
+
|
447
|
+
## 1.33.0 - 2016-01-19
|
448
|
+
* Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
|
449
|
+
|
450
|
+
## 1.32.1 - 2016-01-07
|
451
|
+
* Fix bug where ivar left uninitialized in StripeObject could error on serialization
|
452
|
+
* Fix bug where a nil customer from API could error Bitcoin model on refresh
|
453
|
+
|
454
|
+
## 1.32.0 - 2016-01-05
|
455
|
+
* Add configuration to optionally retry network failures
|
456
|
+
* Use modern API endpoint for producing application fee refunds
|
457
|
+
|
458
|
+
## 1.31.0 - 2015-10-29
|
459
|
+
* Add BankAccount#verify convenience method
|
460
|
+
|
461
|
+
## 1.30.3 - 2015-10-28
|
462
|
+
* Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
|
463
|
+
|
464
|
+
## 1.30.2 - 2015-10-12
|
465
|
+
* Fix bug where `opts` didn't properly propagate to descendant `StripeObjects`
|
466
|
+
|
467
|
+
## 1.30.1 - 2015-10-10
|
468
|
+
* Fix bug that prevent lists of hashes from being URI-encoded properly
|
469
|
+
* Fix bug where filter conditions were not making it past the first instantiated `ListObject`
|
470
|
+
|
471
|
+
## 1.30.0 - 2015-10-09
|
472
|
+
* Add `StripeObject#deleted?` for a reliable way to check whether an object is alive
|
473
|
+
* Deprecate `StripeObject#refresh_from`
|
474
|
+
* New parameter encoding scheme that doesn't use `URI.escape`
|
475
|
+
|
476
|
+
## 1.29.1 - 2015-10-06
|
477
|
+
* Fix bug where ampersands were not being properly encoded
|
478
|
+
|
479
|
+
## 1.29.0 - 2015-10-05
|
480
|
+
* Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page`
|
481
|
+
|
482
|
+
## 1.28.1 - 2015-10-05
|
483
|
+
* Fix URI being referenced by file upload resources
|
484
|
+
|
485
|
+
## 1.28.0 - 2015-10-05
|
486
|
+
* Make StripeObject's #save "upsert"-like; creates an object if new
|
487
|
+
* Add #update_attributes to StripeObject for safe mass assignment
|
488
|
+
* Properly mass assign attributes on calls to #save
|
489
|
+
* Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid)
|
490
|
+
* Fix a bug that broke the API for StripeObject initialization
|
491
|
+
* Remove use of deprecated URI.escape
|
492
|
+
|
493
|
+
## 1.27.2 - 2015-09-25
|
494
|
+
* Correct the URLs used to fetch Bitcoin transactions.
|
495
|
+
|
496
|
+
## 1.27.1 - 2015-09-20
|
497
|
+
* Use hash rockets for backwards compatibility.
|
498
|
+
|
499
|
+
## 1.27.0 - 2015-09-14
|
500
|
+
* Add Orders, Products, and SKUs for Relay
|
501
|
+
|
502
|
+
## 1.26.0 - 2015-09-11
|
503
|
+
* Add support for 429 Rate Limited response
|
504
|
+
|
505
|
+
## 1.25.0 - 2015-08-17
|
506
|
+
* Added support for refund listing and retrieval without an associated charge
|
507
|
+
|
508
|
+
## 1.24.0 - 2015-08-03
|
509
|
+
* Added support for deleting managed accounts
|
510
|
+
* Added support for dispute listing and retrieval
|
511
|
+
* Bugfix: token objects now are the correct class
|
512
|
+
|
513
|
+
## 1.23.0 - 2015-07-06
|
514
|
+
* Added request IDs and HTTP headers to errors
|
515
|
+
|
516
|
+
## 1.22.0 - 2015-06-10
|
517
|
+
* Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param)
|
518
|
+
|
519
|
+
## 1.21.0 - 2015-04-14
|
520
|
+
* Remove TLS cert revocation check (all pre-heartbleed certs have expired)
|
521
|
+
* Bugfix: don't unset keys when they don't exist on StripeObject
|
522
|
+
|
523
|
+
## 1.20.4 - 2015-03-26
|
524
|
+
* Raise an error when explicitly passing nil as the API key on resource methods
|
525
|
+
* Fix error when passing an API key to Balance.retrieve (github issue #232)
|
526
|
+
|
527
|
+
## 1.20.3 - 2015-03-13
|
528
|
+
* Fixed error when updating certain resources (github issue #224)
|
529
|
+
|
530
|
+
## 1.20.2 - 2015-03-10
|
531
|
+
* Added support for updating nested hashes besides `metadata` (which was already supported)
|
532
|
+
* Fixed bug in balance retrieval
|
533
|
+
|
534
|
+
## 1.20.1 - 2015-02-26
|
535
|
+
* Updated Card to point to customer sources endpoint when customer property is set
|
536
|
+
|
537
|
+
## 1.20.0 - 2015-02-19
|
538
|
+
* Added Update & Delete operations to Bitcoin Receivers
|
539
|
+
|
540
|
+
## 1.19.1 - 2015-02-18
|
541
|
+
* Fixed fetching upcoming invoice/paying invoice methods
|
542
|
+
|
543
|
+
## 1.19.0 - 2015-02-15
|
544
|
+
* Support for new Transfers /reversals endpoint
|
545
|
+
* Account retrieval now optionally accepts an account ID
|
546
|
+
* Better support for passing custom headers, like Stripe-Account, through requests
|
547
|
+
|
548
|
+
## 1.18.0 - 2015-01-21
|
549
|
+
* 1 major enhancement:
|
550
|
+
* Added support for making bitcoin charges through BitcoinReceiver source object
|
551
|
+
|
552
|
+
## 1.17.3 - 2015-01-12
|
553
|
+
* 1 bugfix:
|
554
|
+
* Fixed API key propagation for ApplicationFee#refund
|
555
|
+
|
556
|
+
## 1.17.2 - 2015-01-08
|
557
|
+
* 1 bugfix:
|
558
|
+
* Fixed API key propagation for child resources
|
559
|
+
|
560
|
+
## 1.17.1 - 2015-01-07
|
561
|
+
* 2 minor enhacements:
|
562
|
+
* Fixed dependencies for Ruby versions less than 1.9.3
|
563
|
+
* Added deauthorize method to Account object
|
564
|
+
|
565
|
+
## 1.17.0 - 2014-12-15
|
566
|
+
* 1 major enhacement:
|
567
|
+
* File uploads resource was added (for uploading pdf or image documents for disputes)
|
568
|
+
|
569
|
+
## 1.16.1 - 2014-12-19
|
570
|
+
* 2 minor enhancements:
|
571
|
+
* Ability to send idempotent requests
|
572
|
+
* Ability to specify stripe account as a header
|
573
|
+
|
574
|
+
## 1.16.0 - 2014-10-08
|
575
|
+
* 1 minor enhacement:
|
576
|
+
* Coupons now support update operations - useful for manipulating metadata
|
577
|
+
|
578
|
+
## 1.15.0 - 2014-07-26
|
579
|
+
* 1 major enhacement:
|
580
|
+
* Application Fee refunds now a list instead of array
|
581
|
+
|
582
|
+
## 1.14.0 - 2014-06-17
|
583
|
+
* 1 major enhancement:
|
584
|
+
* Add metadata for refunds and disputes
|
585
|
+
|
586
|
+
## 1.13.0 - 2014-05-28
|
587
|
+
* 1 major enhancement:
|
588
|
+
* Support for canceling transfers
|
589
|
+
|
590
|
+
## 1.12.0 - 2014-05-21
|
591
|
+
* 1 major enhancement:
|
592
|
+
* Support for cards for recipients
|
593
|
+
|
594
|
+
## 1.11.0 - 2014-04-09
|
595
|
+
* 2 minor enhancements:
|
596
|
+
* Update included ca bundles
|
597
|
+
* Implement certificate blacklisting
|
598
|
+
|
599
|
+
## 1.10.2 - 2014-02-18
|
600
|
+
* 1 minor enhancement:
|
601
|
+
* Add create_subscription on Customer resources, so you can create
|
602
|
+
subscriptions without needing to retrieve the customer first (github
|
603
|
+
issue #120)
|
604
|
+
|
605
|
+
## 1.10.1 - 2014-02-03
|
606
|
+
* 1 bugfix:
|
607
|
+
* Fix marshaling of StripeObjects
|
608
|
+
|
609
|
+
## 1.10.0 - 2014-01-29
|
610
|
+
* 2 major enhancements
|
611
|
+
* Support for multiple subscriptions per customer
|
612
|
+
* Testing ruby 2.1.0
|
613
|
+
|
614
|
+
* 2 minor enhancements
|
615
|
+
* Replace multi_json with json
|
616
|
+
* Allow #save to take opts (for :expand)
|
617
|
+
|
618
|
+
* 1 bugfix
|
619
|
+
* Fix #try and #respond_to? on StripeObjects
|
620
|
+
|
621
|
+
## 1.9.9 - 2013-12-02
|
622
|
+
* 1 major enhancement
|
623
|
+
* Add ApplicationFee resource
|
624
|
+
|
625
|
+
## 1.8.9 - 2013-11-14
|
626
|
+
* 2 bugfixes:
|
627
|
+
* Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users
|
628
|
+
* Fix api_resource_test to not use returns as a way of testing rescue behavior
|
629
|
+
|
630
|
+
## 1.8.8 - 2013-10-3
|
631
|
+
* 1 major enhancement
|
632
|
+
* Add support for metadata on resources
|
633
|
+
|
634
|
+
## 1.8.7 - 2013-08-18
|
635
|
+
* 1 minor enhancement
|
636
|
+
* Add support for closing disputes.
|
637
|
+
|
638
|
+
## 1.8.6 - 2013-08-13
|
639
|
+
* 1 major enhancement
|
640
|
+
* Add Balance and BalanceTransaction resources
|
641
|
+
|
642
|
+
## 1.8.5 - 2013-08-12
|
643
|
+
* 1 major enhancement
|
644
|
+
* Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error.
|
645
|
+
* Attempting to set an object's id is now an error
|
646
|
+
|
647
|
+
## 1.8.4 - 2013-07-11
|
648
|
+
* 1 major enhancement
|
649
|
+
* Add support for new cards API (Stripe API version - 2013-07-05)
|
650
|
+
|
651
|
+
## 1.8.3 - 2013-05-06
|
652
|
+
* 1 bugfix:
|
653
|
+
* Fix handling of per-call API keys (github issue #67)
|
654
|
+
|
655
|
+
## 1.8.2 - 2013-05-01
|
656
|
+
* 3 minor enhancements:
|
657
|
+
* Use to_sym instead of type checking for minor performance improvement (github issue #59)
|
658
|
+
* Handle low-memory situations without throwing an exception (github issue #61)
|
659
|
+
* Add an Customer#upcoming_invoice convenience method (github issue #65)
|
660
|
+
|
661
|
+
* 1 bugfix:
|
662
|
+
* Allow updating resources without first retrieving them (github issue #60)
|
663
|
+
|
664
|
+
## 1.8.1 - 2013-04-19
|
665
|
+
* 1 minor enhancement:
|
666
|
+
* Add support for specifying an API key when retrieving an upcoming invoice
|
667
|
+
|
668
|
+
## 1.8.0 - 2013-04-11
|
669
|
+
* 1 major enhancement:
|
670
|
+
* Add new Recipient resource
|
671
|
+
* Allow Transfers to be createable
|
672
|
+
|
673
|
+
## 1.7.11 - 2013-02-21
|
674
|
+
* 1 minor enhancement
|
675
|
+
* Add 'id' to the list of permanent attributes
|
676
|
+
|
677
|
+
## 1.7.10 - 2013-02-01
|
678
|
+
* 1 major enhancement
|
679
|
+
* Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well
|
680
|
+
|
681
|
+
## 1.7.9 - 2013-01-15
|
682
|
+
* 1 major enhancement
|
683
|
+
* Add support for setting a Stripe API version override.
|
684
|
+
|
685
|
+
## 1.7.8 - 2012-11-21
|
686
|
+
* 1 bugfix
|
687
|
+
* Relax the version constraint on multi_json (github issue #44)
|
688
|
+
|
689
|
+
## 1.7.7 - 2012-11-07
|
690
|
+
* 1 minor enhancement:
|
691
|
+
* Add support for updating charge disputes
|
692
|
+
|
693
|
+
* 1 bugfix
|
694
|
+
* Fix Account API resource bug
|
695
|
+
|
696
|
+
## 1.7.6 - 2012-10-30
|
697
|
+
* 1 major enhancement
|
698
|
+
* Add support for creating invoices
|
699
|
+
|
700
|
+
## 1.7.5 - 2012-10-25
|
701
|
+
* 1 major enhancement
|
702
|
+
* Add support for new API lists
|
703
|
+
|
704
|
+
## 1.7.4 - 2012-10-08
|
705
|
+
* 1 bugfix
|
706
|
+
* Fix bug introduced in 1.7.3 calling API methods that take no
|
707
|
+
arguments, like Stripe::Invoice#pay (github issue #42)
|
708
|
+
|
709
|
+
## 1.7.3 - 2012-09-14
|
710
|
+
* 2 bugfixes
|
711
|
+
* Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code.
|
712
|
+
* URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38)
|
713
|
+
|
714
|
+
## 1.7.2 - 2012-08-31
|
715
|
+
* 1 major enhancement
|
716
|
+
* Add support for new pay and update methods for Invoice objects
|
717
|
+
|
718
|
+
## 1.7.1 - 2012-08-15
|
719
|
+
* 1 major enhancement
|
720
|
+
* Add new Account API resource
|
721
|
+
|
722
|
+
## 1.7.0 - 2012-05-17
|
723
|
+
* 3 major enhancements:
|
724
|
+
* Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22)
|
725
|
+
* Add new delete_discount method to Customer objects
|
726
|
+
* Add new Transfer API resource
|
727
|
+
|
728
|
+
* 2 minor enhancements:
|
729
|
+
* Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
|
730
|
+
* Numerous test suite improvements
|
731
|
+
|
732
|
+
## 1.6.3 - 2012-03-22
|
733
|
+
* 1 bugfix:
|
734
|
+
* Encode GET query strings ourselves instead of using rest-client to work around a bug
|
735
|
+
|
736
|
+
## 1.6.2 - 2012-02-24
|
737
|
+
* 1 bugfix:
|
738
|
+
* Correct argument handling in StripeObject#as_json
|
739
|
+
|
740
|
+
## 1.6.1 - 2012-02-22
|
741
|
+
* 1 bugfix:
|
742
|
+
* Fix StripeObject#inspect when ActiveSupport 3.0 is loaded
|
743
|
+
|
744
|
+
## 1.6.0 - 2012-02-01
|
745
|
+
* A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of plans, coupons, events, and tokens
|
746
|
+
* 1.6.0 also contains a new inspect/to_string implementation
|
747
|
+
|
748
|
+
## 1.5.0 - 2011-05-09
|
749
|
+
* 1 major enhancement:
|
750
|
+
* Update for new RESTful API
|
751
|
+
|
752
|
+
## 1.3.4 - 2011-01-07
|
753
|
+
* 1 major enhancement:
|
754
|
+
* Rename to Stripe
|
755
|
+
|
756
|
+
## 1.2 - 2010-06-06
|
757
|
+
* 1 major enhancement:
|
758
|
+
* Support for the set_customer_subscription and delete_customer API methods
|
759
|
+
|
760
|
+
## 1.1 - 2010-03-14
|
761
|
+
* 1 major enhancement:
|
762
|
+
* Support for recurring billing
|
763
|
+
|
764
|
+
## 1.0 - 2010-01-05
|
765
|
+
* 1 major enhancement:
|
766
|
+
* Initial release
|
767
|
+
|
768
|
+
<!--
|
769
|
+
# vim: set tw=0:
|
770
|
+
-->
|