integrallis/stripe_event — pull request #27 by invisiblefunnel (2013-12-12 05:00:07+00:00)
Title: Feedback Request - 1.0.0.rc

Hello users and contributors!

I've made a push to get StripeEvent to a 1.0 release and would appreciate feedback from the community (even a :+1: helps). If you have any suggestions or concerns about the changes please comment so we can discuss them. The readme now covers many of the questions previously raised in issues and elsewhere. Feedback about documentation and ways to make development easier is especially appreciated. Since this is a major release some of the changes break behavior of previous releases, but I've taken care to document them in the [changelog](https://github.com/integrallis/stripe_event/blob/383860a410533d67f4f02b638d52726961b70491/CHANGELOG.md#100-unreleased). Here is a quick look:

* **Internally namespace dispatched events to avoid maintaining a list of all possible event types.**
* Subscribe to all event types with `StripeEvent.all` instead of `StripeEvent.subscribe`.
* Remove ability to subscribe to many event types with one call to `StripeEvent.subscribe`.
* **Subscribers can be an object that responds to #call.**
* Allow subscriber-generated `Stripe::StripeError`'s to bubble up. Thank you to [adamonduty](https://github.com/adamonduty) for the [patch](https://github.com/integrallis/stripe_event/pull/26).
* Only depend on `stripe` and `activesupport` gems.
* Add `rails` as a development dependency.
* **Allow StripeEvent to be used outside of a Rails application!**

One of the goals for this gem is to keep things as simple as possible, basically just routing and dispatch with arbitrary event handling (oh, and authentication.) Would anyone be interested in autoloading a directory (for Rails apps) so subscriber classes can be treated as first class citizens? Say `app/events` or `lib/events`? Does `app/webhooks` make sense? I haven't put much thought into this, but similar gems take this approach.

Also, there's an [open issue](https://github.com/integrallis/stripe_event/issues/15) related to Stripe Connect that I could use some help with. Let me know if you have ideas for a solution. This is not a blocker for 1.0.0 release though.

This pull request refers to the 1.0.0.rc branch, which I hope to finalize and release as 1.0.0 soon. You can use it now:

```ruby
gem 'stripe_event', github: 'integrallis/stripe_event', branch: '1.0.0.rc'
```

/cc @mattgoldman @adamonduty