Module: Roda::RodaPlugins::Controller::ClassMethods

Defined in:
lib/roda/plugins/controller.rb

Instance Method Summary collapse

Instance Method Details

#register_controller(*args) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/roda/plugins/controller.rb', line 37

def register_controller(*args)
  controllers = opts[:controller][:registered_controllers]

  if args.size == 2
    controller_key, controller = args

    controllers.merge! controller_key.to_sym => controller
  elsif args.size == 1
    controller = args[0]

    if controller.kind_of? Hash
      controllers.merge!(controller)
    elsif controller.kind_of? Array
      controller.each {|c| register_controller(c) }
    elsif controller.kind_of? Class
      register_controller(Controller.underscore(controller.name), controller)
    end
  end
end