class Dominate::Widget::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/dominate/widget/middleware.rb, line 5 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/dominate/widget/middleware.rb, line 9 def call env dup.call! env end
call!(env)
click to toggle source
# File lib/dominate/widget/middleware.rb, line 13 def call! env @env = env if widget_path widget_name, widget_event, event = Widget.load_all @app, req, res event.trigger widget_name, widget_event, req.params # res.write "$('head > meta[name=csrf-token]').attr('content', '#{csrf_token}');" res.write '$(document).trigger("page:change");' res.finish else res end end
Private Instance Methods
path()
click to toggle source
# File lib/dominate/widget/middleware.rb, line 48 def path @env['PATH_INFO'] end
req()
click to toggle source
# File lib/dominate/widget/middleware.rb, line 40 def req @req ||= Rack::Request.new(@env) end
res()
click to toggle source
# File lib/dominate/widget/middleware.rb, line 30 def res @res ||= begin if not widget_path @app.call(req.env) else Cuba::Response.new end end end
widget_path()
click to toggle source
# File lib/dominate/widget/middleware.rb, line 44 def widget_path path[Regexp.new("^#{Dominate.config.widget_url}($|\\?.*)")] end