Merge branch 'new-signup-add-credit-card' * new-signup-add-credit-card: Happy path for credit card signup Panic should work on any value for error Allow getting default payment method, not just index Object representing the backend SGX to use Stop polluting Object namespace with Blather DSL Work in the presence of em-synchrony Helper to allow ordering phone number from Bandwidth v2 Helper to get a promise that resolves after N seconds Every payment kind will need the plan, so put it at the top Use registration pattern for Payment kinds Method to bill the plan of a Customer Use Forwardable for simple delegations Helper to allow using sync-style code in a Promise context New signup: go to web to choose credit card OOB helper Reject promise on stanza error Fix typo
Helper to get a promise that resolves after N seconds
Helper to allow using sync-style code in a Promise context This helper spins up a fiber and returns an unresolved EMPromise, then runs the passed-in block inside the fiber and fulfills the promise with the result of the block. Because nothing is looking for the Fiber to return it is free to act as a trampoline for EMPromise#sync and other fiber-sync-style code that does not block the EM reactor.
Split logic out into testable objects Rubocop clean. Good test coverage of helper objects.