Module: SimpleRecurring
- Defined in:
- lib/simple_recurring.rb,
lib/simple_recurring/engine.rb,
lib/simple_recurring/version.rb,
app/models/simple_recurring/promotions.rb,
app/models/simple_recurring/credit_card.rb,
app/models/simple_recurring/subscription.rb,
lib/simple_recurring/processor_adapters/base_adapter.rb
Defined Under Namespace
Modules: ProcessorAdapters Classes: CreditCard, Engine, Promotions, Subscription
Constant Summary collapse
- VERSION =
'1.0.1'
Class Method Summary collapse
-
.adapter(adapter) ⇒ Object
Load adapter by name.
-
.adapters ⇒ Object
Finds all adapters and versions.
Class Method Details
.adapter(adapter) ⇒ Object
Load adapter by name.
Params: String adapter
Returns: Implementation of SimpleRecurring::ProcessorAdapters::BaseAdapter
11 12 13 |
# File 'lib/simple_recurring.rb', line 11 def self.adapter(adapter) "SimpleRecurring::ProcessorAdapters::#{adapter.capitalize}".constantize end |
.adapters ⇒ Object
Finds all adapters and versions. Warning: This is appropriate for use in an admin panel where the processor might be selected. It is NOT appropriate for use on user facing pages as it searches the file system for all available adapters and loads them.
Returns: Hash of adapters with their display name and version.
21 22 23 24 25 26 27 28 |
# File 'lib/simple_recurring.rb', line 21 def self.adapters require_adapters SimpleRecurring::ProcessorAdapters.constants.select { |c| SimpleRecurring::ProcessorAdapters.const_get(c).is_a?(Class) && SimpleRecurring::ProcessorAdapters.const_get(c) != SimpleRecurring::ProcessorAdapters::BaseAdapter && SimpleRecurring::ProcessorAdapters.const_get(c).ancestors.include?(SimpleRecurring::ProcessorAdapters::BaseAdapter) }.reduce({}) { |h, a| h[a] = { display_name: adapter(a).display_name, version: adapter(a).version }; h } end |