Class: Ki::Middleware::InstaDoc

Inherits:
HamlCompiler show all
Includes:
BaseMiddleware
Defined in:
lib/ki/middleware/insta_doc.rb

Direct Known Subclasses

AdminInterfaceGenerator

Instance Method Summary collapse

Methods included from BaseMiddleware

#initialize

Instance Method Details

#call(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/ki/middleware/insta_doc.rb', line 8

def call(env)
  req = BaseRequest.new env
  if custom_check(req)
    html = if view_exists?(req)
             render_haml_file view_path(req)
           else
             render_haml_file custom_view_path
           end
    Rack::Response.new(html).finish
  else
    @app.call env
  end
end

#custom_check(req) ⇒ Object



22
23
24
# File 'lib/ki/middleware/insta_doc.rb', line 22

def custom_check(req)
  req.doc?
end

#custom_view_pathObject



26
27
28
# File 'lib/ki/middleware/insta_doc.rb', line 26

def custom_view_path
  File.join(File.dirname(__FILE__), '..', 'views', 'instadoc.haml')
end