Module: Pakada::Dispatch::Module
- Defined in:
- lib/pakada/dispatch/module.rb
Instance Method Summary collapse
- #controller(name, &block) ⇒ Object
- #controller_path ⇒ Object
- #controllers ⇒ Object
- #load_controllers ⇒ Object
- #route(name, pattern, &block) ⇒ Object
Instance Method Details
#controller(name, &block) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pakada/dispatch/module.rb', line 14 def controller(name, &block) if block controllers[name] = Pakada.safety(Controller).create(&block).tap {|c| c.before(:new) {|env, *args| = args[0] || {} .merge! :module => pakada_name, :controller => name } } else controllers[name] end end |
#controller_path ⇒ Object
6 7 8 |
# File 'lib/pakada/dispatch/module.rb', line 6 def controller_path @controller_path ||= path.join("controllers") end |
#controllers ⇒ Object
10 11 12 |
# File 'lib/pakada/dispatch/module.rb', line 10 def controllers @controllers ||= {} end |
#load_controllers ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/pakada/dispatch/module.rb', line 27 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
37 38 39 |
# File 'lib/pakada/dispatch/module.rb', line 37 def route(name, pattern, &block) Pakada[:dispatch].router.add(pattern).name(name).to &block end |