Sha256: 2b447a7693b585e4ede82d8d569132ad1d8671c3e0dc3a36b7f2638e649bff7a
Contents?: true
Size: 968 Bytes
Versions: 4
Compression:
Stored size: 968 Bytes
Contents
require 'request_store' module Draper module ViewContext def view_context super.tap do |context| Draper::ViewContext.current = context end end def self.current_controller RequestStore.store[:current_controller] || ApplicationController.new end def self.current_controller=(controller) RequestStore.store[:current_controller] = controller end def self.current RequestStore.store[:current_view_context] ||= build_view_context end def self.current=(context) RequestStore.store[:current_view_context] = context end def self.build_view_context current_controller.view_context.tap do |context| if defined?(ActionController::TestRequest) context.controller.request ||= ActionController::TestRequest.new context.request ||= context.controller.request context.params ||= {} end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
draper-1.0.0 | lib/draper/view_context.rb |
draper-1.0.0.beta6 | lib/draper/view_context.rb |
draper-1.0.0.beta5 | lib/draper/view_context.rb |
draper-1.0.0.beta4 | lib/draper/view_context.rb |