Module: Pakada::Dispatch::Module

Defined in:
lib/pakada/dispatch/module.rb

Instance Method Summary collapse

Instance Method Details

#controller(name, &block) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/pakada/dispatch/module.rb', line 14

def controller(name, &block)
  if block
    controllers[name] = Pakada.safety(Controller).create(&block)
  else
    controllers[name]
  end
end

#controller_pathObject



6
7
8
# File 'lib/pakada/dispatch/module.rb', line 6

def controller_path
  @controller_path ||= path.join("controllers")
end

#controllersObject



10
11
12
# File 'lib/pakada/dispatch/module.rb', line 10

def controllers
  @controllers ||= {}
end

#load_controllersObject



22
23
24
25
26
27
28
29
30
# File 'lib/pakada/dispatch/module.rb', line 22

def load_controllers
  controller_path.each_entry {|path|
    path = controller_path.join(path)
    next unless path.file?
    controller(path.basename(".rb").to_s.to_sym) {
      class_eval File.read(path), path.to_s, 1
    }
  } if controller_path.exist?
end

#route(name, pattern, &block) ⇒ Object



32
33
34
# File 'lib/pakada/dispatch/module.rb', line 32

def route(name, pattern, &block)
  Pakada[:dispatch].router.add(pattern).name(name).to &block
end