Module: Bogy::HandlerManager

Defined in:
lib/bogy/handler_manager.rb

Overview

The handler manager contains information about all bogy handlers It also find and return them

Constant Summary collapse

HANDLERS =
[
  :file,
  :hash,
  :string
]

Class Method Summary collapse

Class Method Details

.find_handler(options) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/bogy/handler_manager.rb', line 17

def self.find_handler(options)
  options = options.shift
  handler_name, arg = options

  if HANDLERS.include? handler_name
    handler_instance(handler_name, arg)
  else
    raise ArgumentError, "invalid argument '#{handler_name}'"
  end
end

.handler_instance(handler_name, arg) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/bogy/handler_manager.rb', line 28

def self.handler_instance(handler_name, arg)
  handler_name = handler_name.to_s
  const_name = handler_name.capitalize << 'Handler'

  require "bogy/handlers/#{handler_name}_handler"
  Bogy.const_get(const_name).new(arg)
end