Module: Roda::RodaPlugins::Hooks::ClassMethods
- Defined in:
- lib/roda/plugins/hooks.rb
Instance Method Summary collapse
-
#after(&block) ⇒ Object
Add an after hook.
-
#before(&block) ⇒ Object
Add a before hook.
Instance Method Details
#after(&block) ⇒ Object
Add an after hook. If there is already an after hook defined, use a proc that instance_execs the existing after proc and then instance_execs the given after proc, so that the given after proc always executes after the previous one.
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/roda/plugins/hooks.rb', line 45 def after(&block) opts[:after_hook] = if b = opts[:after_hook] proc do |res| instance_exec(res, &b) instance_exec(res, &block) end else block end end |
#before(&block) ⇒ Object
Add a before hook. If there is already a before hook defined, use a proc that instance_execs the give before proc and then instance_execs the existing before proc, so that the given before proc always executes before the previous one.
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/roda/plugins/hooks.rb', line 60 def before(&block) opts[:before_hook] = if b = opts[:before_hook] proc do instance_exec(&block) instance_exec(&b) end else block end end |