forked from activemerchant/active_merchant
-
Notifications
You must be signed in to change notification settings - Fork 1
ActiveMerchant Next
ntalbott edited this page Nov 15, 2012
·
6 revisions
There are lots of way ActiveMerchant could improve as a framework, and features it could support in the future. Rather than trying to track those in Issues it seems better to use Issues for active development and put future cross-cutting features/ideas/refactorings/etc. somewhere they can be discussed and maintained without cluttering the Issue tracker. Thus this page.
Of course once someone's ready to actually dig in and make one of these ideas happen, it would move into the Issue tracker for discussion and tracking while it's being implemented. And note that just because something is here doesn't mean it's going to happen, has been agreed to by the ActiveMerchant Core team, etc.
See the last item below for example formatting.
- Condense integrations and their tests into a single file
- Rationale: The current file separation doesn't provide value, but rather makes it harder to see how the pieces interact. Also, autoload.
- Related: #117
- Have tests for new gateways to verify implementation conforms to AM standards
- Rationale: Would help implementors check if their new gateway/integration conforms to the interface ActiveMerchant expects. Also makes life much easier for maintainers trying to merge new implementations.
- Related: #116, #491, ActiveModel::Lint::Tests
- Examples:
-
ActiveMerchant::Billing::Gateway::Lint::Tests- test the arity of each method like
#captureand#voidand make sure the last argument can be a hash of options
- test the arity of each method like
-
ActiveMerchant::Billing::Integration::Lint::Tests- test that the
Notificationimplements the#acknowledgemethod - test that
Notification#statusreturns a string (e.g. 'Complete') instead of a boolean
- test that the
-
- Could spit out suggestions as well warnings, guiding folks towards better implementations.
- Rename the project to
LlamasForEveryone.- Rationale: naming things Active* is so last year
- Related: issue #666
- To do this we'll need to rebrand all the things, get everyone to change their code, and make sure no one has a trademark on using Llamas in names. Should be a cinch.