Public Instance methods
after(&block)
Add an after hook.
[show source]
# File lib/roda/plugins/hooks.rb 54 def after(&block) 55 after_hooks << define_roda_method("after_hook", 1, &block) 56 if after_hooks.length == 1 57 class_eval("alias _roda_after_80__hooks #{after_hooks.first}", __FILE__, __LINE__) 58 else 59 class_eval("def _roda_after_80__hooks(res) #{after_hooks.map{|m| "#{m}(res)"}.join(';')} end", __FILE__, __LINE__) 60 end 61 private :_roda_after_80__hooks 62 def_roda_after 63 nil 64 end
before(&block)
Add a before hook.
[show source]
# File lib/roda/plugins/hooks.rb 67 def before(&block) 68 before_hooks.unshift(define_roda_method("before_hook", 0, &block)) 69 if before_hooks.length == 1 70 class_eval("alias _roda_before_10__hooks #{before_hooks.first}", __FILE__, __LINE__) 71 else 72 class_eval("def _roda_before_10__hooks; #{before_hooks.join(';')} end", __FILE__, __LINE__) 73 end 74 private :_roda_before_10__hooks 75 def_roda_before 76 nil 77 end
freeze()
Freeze the array of hook methods when freezing the app.
[show source]
# File lib/roda/plugins/hooks.rb 46 def freeze 47 after_hooks.freeze 48 before_hooks.freeze 49 50 super 51 end