Class: Useless::Doc::Rack::UI

Inherits:
Object
  • Object
show all
Defined in:
lib/useless/doc/rack/ui.rb

Overview

Doc::Rack::UI chooses which UI should be used to render the documentation. It can theoretically be chosen via the ‘ui’ parameter, but for now it will alway choose Godel

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ UI

Returns a new instance of UI.



17
18
19
# File 'lib/useless/doc/rack/ui.rb', line 17

def initialize(app)
  @app = app
end

Class Method Details

.defaultObject



13
14
15
# File 'lib/useless/doc/rack/ui.rb', line 13

def self.default
  Useless::Doc::UI::Godel
end

Instance Method Details

#call(env) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/useless/doc/rack/ui.rb', line 21

def call(env)
  request = ::Rack::Request.new(env)

  ui = case request.params['ui']
  when 'godel' then Useless::Doc::UI::Godel
  else              Rack::UI.default
  end

  env['useless.doc.ui'] = ui
  @app.call(env)
end