class Racket::ViewManager
Handles rendering in Racket
applications.
Public Class Methods
new(locator, renderer)
click to toggle source
# File lib/racket/view_manager.rb, line 30 def initialize(locator, renderer) @locator = locator @renderer = renderer end
service(_options = {})
click to toggle source
Returns a service proc that can be used by the registry.
@param [Hash] _options (unused) @return [Proc]
# File lib/racket/view_manager.rb, line 26 def self.service(_options = {}) ->(reg) { new(reg.template_locator, reg.template_renderer) } end
Public Instance Methods
render(controller)
click to toggle source
Renders a controller based on the request path and the variables set in the controller instance.
@param [Controller] controller @return [Hash]
# File lib/racket/view_manager.rb, line 40 def render(controller) @renderer.render(controller, *get_view_and_layout(controller)) end
Private Instance Methods
get_view_and_layout(controller)
click to toggle source
Returns the view and layout that should be used for rendering.
@param [Racket::Controller] controller @return [Array]
# File lib/racket/view_manager.rb, line 50 def get_view_and_layout(controller) view = @locator.get_view(controller) layout = view ? @locator.get_layout(controller) : nil [view, layout] end