1200 Commits

Author SHA1 Message Date
Brandur
e149379b83
Merge pull request #612 from stripe/brandur-fix-array-encoding-in-non-post
Fix encoding of arrays that are sent in query strings
2017-12-07 12:54:54 -08:00
Brandur
2bc471d501 Fix encoding of arrays that are sent in query strings
As discussed in #608, we currently have a problem where Faraday
deconstructs a query string that we encode and strips out any of the
array index numbers that we added. It's not too clear on why it does
this, but it appears to be built in at a pretty low level and hard to
change.

I spent a little time on this and it turns out that we can avoid the bad
code by depending on Faraday's `params` accessor on a request instead of
trying to do the encoding ourselves. Webmock has a pretty hard time
detecting the difference, but you can see some before and after encoding
here.

Before:

```
I, [2017-12-06T17:41:23.083942 #36737]  INFO -- : get
http://localhost:12111/v1/invoices/upcoming?customer=cus_123&subscription_items%5B%5D%5Bplan%5D=gold&subscription_items%5B%5D%5Bquantity%5D=2
```

After:

```
I, [2017-12-06T17:42:12.727752 #37158]  INFO -- : get
http://localhost:12111/v1/invoices/upcoming?customer=cus_123&subscription_items%5B0%5D%5Bplan%5D=gold&subscription_items%5B0%5D%5Bquantity%5D=2
```

Honestly, some of this can still use a lot of cleanup: it's weird that
we manually encode parameters ourselves for bodies, but not for queries;
but I think this'll fix the problem for now.

Fixes #608.
2017-12-07 10:51:07 -08:00
Brandur
ea426108f0 Bump version to 3.8.1 v3.8.1 2017-12-06 10:16:11 -08:00
Brandur
ee30b1f915
Merge pull request #611 from stripe/ob-fix-610
Support Tempfiles in file_upload creation requests
2017-12-06 10:14:59 -08:00
Olivier Bellone
949efb017d
Support Tempfiles in file_upload creation requests 2017-12-05 16:52:37 -08:00
Brandur
ffb6ea4a31
Merge pull request #607 from stripe/brandur-remove-manual-stubs
Remove manual exchange rate stubbing
2017-10-31 09:49:39 -07:00
Brandur
85c811a18f Remove manual exchange rate stubbing
stripe-mock 0.4.0 comes with the up-to-date exchange rates API. Here we
bump the required version and remove the manual exchange rate stubbing
in stripe-ruby's test suite.
2017-10-31 09:17:51 -07:00
Brandur
44e590fdb8 Bump version to 3.8.0 v3.8.0 2017-10-31 08:49:33 -07:00
Brandur
665af07f52
Merge pull request #606 from stripe/ob-exchange-rate
Add support for exchange_rates API requests
2017-10-31 08:48:45 -07:00
Olivier Bellone
b153b39203
Add support for exchange_rates API requests 2017-10-31 10:25:18 +01:00
Brandur
36e6c16cc8 Bump version to 3.7.0 v3.7.0 2017-10-26 07:53:09 -07:00
Brandur
c974c0b904 Merge pull request #603 from stripe/ob-source-transactions
Add support for listing source_transactions
2017-10-26 07:51:54 -07:00
Olivier Bellone
c455be74d4
Add support for listing source_transactions 2017-10-26 15:43:34 +02:00
Brandur
265d064f91 Fix links in the CHANGELOG 2017-10-20 12:16:15 -07:00
Brandur
987bbd09c0 Merge pull request #600 from stripe/brandur-explicit-operations
Add explicit operations list everywhere
2017-10-18 12:05:25 -07:00
Brandur
2a087595a9 Add explicit operations list everywhere
Makes the `operations` argument to `nested_resource_class_methods`
required and adds explicit lists to any invocations that were missing
one.

The impetus here is that I think it's more easily digestible if each
call site is explicit about what operations it supports and therefore
which methods it's about to create on the class.
2017-10-17 18:02:36 -07:00
Brandur
9ade60b082 Remove trailing whitespace 2017-10-17 18:01:56 -07:00
Brandur
53c2f1a760 Bump version to 3.6.0 v3.6.0 2017-10-17 17:56:07 -07:00
Brandur
af51af2577 Add some documentation to NestedResource module 2017-10-17 17:52:35 -07:00
Brandur
cf5354cc27 Alphabetize inclusion order 2017-10-17 17:50:20 -07:00
Brandur
7699033d90 Merge pull request #597 from stripe/ob-nested-resource-class-methods
Nested resource class methods
2017-10-17 17:50:52 -07:00
Brandur
20f4feaec0 Bump version to 3.5.3 v3.5.3 2017-10-16 13:13:41 -07:00
Brandur
5c3b741a2c Merge pull request #599 from stripe/brandur-dont-persist-idempotency-key
Don't persist `idempotency_key` option between API requests
2017-10-16 13:09:52 -07:00
Brandur
b4e64969cc Don't persist idempotency_key option between API requests
Excludes `idempotency_key` from opts to persist between API requests.
Obviously the same idempotency key is not something that we ever want to
use again.

Fixes #598.
2017-10-16 13:00:32 -07:00
Brandur
6dca58937d Merge require lists together + add uri
There's really no reason for these to have been two separate lists.
Also, add `uri` as an explicit dependency (so far it's been getting
included by luck with other libraries).
2017-10-16 12:32:18 -07:00
Brandur
e4af9ad820 Merge pull request #596 from stripe/ob-fix-554
Encode arrays as hashes when needed
2017-10-16 12:03:59 -07:00
Brandur
6a87b9ce68 Fix wording in test case name 2017-10-16 12:00:48 -07:00
Brandur
cfa6c2b8ae Merge pull request #595 from stripe/ob-fix-524
Call Object#method if method accessor is called with arguments
2017-10-16 12:01:07 -07:00
Brandur
517c1f08ca Merge pull request #594 from stripe/ob-fix-deep-copy
Maintain class in deep_copy
2017-10-16 11:59:13 -07:00
Olivier Bellone
7f866aab5c
Nested resource class methods 2017-10-15 18:49:13 +02:00
Olivier Bellone
4406f8e258
Call Object#method if method accessor is called with arguments 2017-10-14 23:00:40 +02:00
Olivier Bellone
de21302f4e
Encode arrays as hashes when needed 2017-10-14 17:48:20 +02:00
Olivier Bellone
c920a7c649
Maintain class in deep_copy 2017-10-14 01:05:06 +02:00
Brandur
f628a1eff5 Convert stripe-dotnet links to stripe-ruby (fixes bad copy + paste)
While converting this changelog over, I improperly added links that were
copied from stripe-dotnet. The numbers were right, but the links was
wrong because it was going to the wrong project. This patch corrects all
those bad links.
2017-10-13 10:34:09 -07:00
Brandur
c59c3661c6 Bump version to 3.5.2 v3.5.2 2017-10-13 10:33:30 -07:00
Brandur
1c1e58a6eb Merge pull request #593 from stripe/brandur-changelog
Convert History.txt to CHANGELOG.md
2017-10-13 10:00:28 -07:00
Brandur
f543771003 Merge pull request #592 from stripe/brandur-reimplement-custom-marshal
Implement custom Marshal encoder/decoder for `StripeObject`
2017-10-13 09:52:45 -07:00
Brandur
72e1a14552 Comment out Vim hint 2017-10-13 09:45:42 -07:00
Brandur
a05f59edf2 Convert History.txt to CHANGELOG.md
Converts `History.txt` to a Markdown-based changelog in the same style
as the one established in stripe-dotnet [1].

We leave `History.txt` in place with a reference to the new file so that
existing links will not be broken.

[1] https://github.com/stripe/stripe-dotnet/pull/1026
2017-10-13 09:42:41 -07:00
Brandur
91099f9ee5 Implement custom Marshal encoder/decoder for StripeObject
Backtracks a little bit #586 by bringing back custom `StripeObject`
encoding and decoding methods for Ruby's `Marshal`. These work by just
persisting values and some opts, and skipping everything else. It's
mostly the same as what we had before, but implemented a little more
cleanly so that we don't actually need to invoke `Marshal` anywhere
ourselves.

In #586 we still managed to remove all the uses of `Marshal` in our own
codebase to make the linter happy. Even though we wouldn't recommend the
use of `Marshal`, this code at least enables it for anyone using a Rails
cache or similar mechanism.

Addresses #90.
2017-10-13 09:31:08 -07:00
Brandur
2a0df29bf4 Bump version to 3.5.1 v3.5.1 2017-10-12 10:20:24 -07:00
Brandur
d41a59fc82 Merge pull request #591 from stripe/ob-fix-590
Ensure that each thread has its own client
2017-10-12 09:59:22 -07:00
Olivier Bellone
a210c5cd76
Ensure that each thread has its own client 2017-10-12 18:20:13 +02:00
Brandur
a579368c17 Improve latest change description in changelog 2017-10-11 09:42:29 -07:00
Brandur
283e611a88 Fix typo in changelog ("fromm") 2017-10-11 09:31:08 -07:00
Brandur
c251dfa952 Bump version to 3.5.0 v3.5.0 2017-10-11 09:30:35 -07:00
Brandur
a0a9c7cf22 Merge pull request #589 from stripe/ob-detach-sources
detach method for detaching sources from customers
2017-10-11 09:29:25 -07:00
Olivier Bellone
92e216634c
detach method for detaching sources from customers 2017-10-11 11:15:38 +02:00
Brandur
6bd1d6b9a0 Bump version to 3.4.1 v3.4.1 2017-10-05 09:56:33 -07:00
Brandur
e4725b8006 Merge pull request #588 from stripe/ob-fix-576
Require Faraday 0.10 for proper nested array encoding
2017-10-05 09:47:44 -07:00