Hey Peter,
That's totally a fair point. The reason for the kludgey half-support
here pertains to the way stripe-ruby attempts to infer API behavior to
whatever extent possible.
When (any version) of stripe-ruby sees the `subscriptions` field on a
customer, it is able to tell that it's a list object, and is able to
see what the `url` for that list is, so it's able to infer where it
ought to POST to create a new subscription (`POST
/v1/customers/:id/subscriptions`).
However subscription "canceling" is a bit of a special case in our
API, so awareness of subscription canceling had to be added to
stripe-ruby by hand (meaning it had to be added both for the legacy
one-subscription-per-customer case, and for the modern
multiple-subscriptions per customer case).
Just a bit of context! Very much agreed that the halfway point that
we ended up here is undesirable. Thanks for raising (and thanks
markin for answering).
Jim
On Wed, Nov 4, 2015 at 3:21 AM, Peter Sinnott