class Paradeiser::Router

Attributes

status[R]

Public Class Methods

new() click to toggle source
# File lib/paradeiser/router.rb, line 7
def initialize
  @status = 0
end

Public Instance Methods

dispatch(command) click to toggle source
# File lib/paradeiser/router.rb, line 11
def dispatch(command)
  Proc.new do |args, options|
    parts = command.name.split
    resource = parts.shift
    controller_name = "#{resource.pluralize.capitalize}Controller".to_sym

    if Paradeiser.const_defined?(controller_name)
      verb = parts.join
      controller_class = Paradeiser.const_get(controller_name)
    else
      verb = resource
      controller_class = ParadeiserController
    end

    controller = controller_class.new(verb)
    controller.call(args, options)

    @status = controller.exitstatus
  end
end