module Jeanine::Callbacks::EvaluationMethods
Public Instance Methods
route_eval()
click to toggle source
# File lib/jeanine/callbacks.rb, line 38 def route_eval before_find_route! route = find_route if route before_evaluate_route! result = instance_eval(&route[:block]) @response.write(result) after_evaluate_route! else @response.status = 404 end after_response! @response.complete! end
Private Instance Methods
after_evaluate_route!()
click to toggle source
# File lib/jeanine/callbacks.rb, line 64 def after_evaluate_route! run_after_callbacks!(:after) end
after_response!()
click to toggle source
# File lib/jeanine/callbacks.rb, line 68 def after_response! run_after_callbacks!(:after_all) end
before_evaluate_route!()
click to toggle source
# File lib/jeanine/callbacks.rb, line 60 def before_evaluate_route! run_before_callbacks!(:before) end
before_find_route!()
click to toggle source
# File lib/jeanine/callbacks.rb, line 56 def before_find_route! run_before_callbacks!(:before_all) end
eval_callback(*args, &callback)
click to toggle source
# File lib/jeanine/callbacks.rb, line 101 def eval_callback(*args, &callback) instance_exec(*args, &callback) end
matching_callbacks(type) { |callback| ... }
click to toggle source
# File lib/jeanine/callbacks.rb, line 92 def matching_callbacks(type) self.class._callbacks[type].select do |callback| paths = callback[:paths] if paths.detect { |path| path.match?(@request.path_info) } yield callback end end end
run_after_callbacks!(type)
click to toggle source
# File lib/jeanine/callbacks.rb, line 82 def run_after_callbacks!(type) if type == :after_all self.class._callbacks[type].each { |callback| eval_callback(&callback[:block]) } else matching_callbacks(type) do |callback| eval_callback(&callback[:block]) end end end
run_before_callbacks!(type)
click to toggle source
# File lib/jeanine/callbacks.rb, line 72 def run_before_callbacks!(type) if type == :before_all self.class._callbacks[type].each { |callback| eval_callback(&callback[:block]) } else matching_callbacks(type) do |callback| eval_callback(&callback[:block]) end end end