class Featurer::AdapterManager

Public Class Methods

adapters() click to toggle source
# File lib/featurer/adapter_manager.rb, line 10
def adapters
  @adapters ||= {}
end
add_adapter(klass) click to toggle source
# File lib/featurer/adapter_manager.rb, line 5
def add_adapter(klass)
  name = extract_name(klass)
  adapters[name] = klass
end
run(name, config) click to toggle source
# File lib/featurer/adapter_manager.rb, line 14
def run(name, config)
  adapters
    .fetch(name)
    .new(config)
end

Private Class Methods

extract_name(klass) click to toggle source
# File lib/featurer/adapter_manager.rb, line 22
def extract_name(klass)
  klass.name
       .downcase[/(?:\w+$)/] # get only class name
       .sub('adapter', '') # remove adapter prefix
       .to_sym
end