Class: Rack::Access::Capture::Collector::Adapters

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/access/capture/collector/adapters.rb

Class Method Summary collapse

Class Method Details

.interpret_collector(config) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rack/access/capture/collector/adapters.rb', line 19

def interpret_collector(config)
  name_or_class = config["adapter"] if !config.nil? && config.is_a?(Hash) && config.key?("adapter")
  case name_or_class
  when Symbol
    collector_class = lookup(name_or_class)
    collector_class.nil? ? lookup(:console).new : collector_class.new(config["config"])
  when String
    console_adapter_in_case_of_name_error do
      builtin_klass = lookup(name_or_class)
      obj = builtin_klass.nil? ? Object.const_get(name_or_class).new(config["config"]) : builtin_klass.new(config["config"])
      collector_adapter?(obj) ? obj : lookup(:console).new
    end
  else
    lookup(:console).new
  end
end