Merge pull request #264 from reinh/patch-1

Separate ViewContext get/create context behavior
This commit is contained in:
Steve Klabnik 2012-08-29 11:54:40 -07:00
commit 1104b1ffbc
1 changed files with 11 additions and 7 deletions

View File

@ -1,13 +1,7 @@
module Draper
module ViewContext
def self.current
context = Thread.current[:current_view_context]
context ||= ApplicationController.new.view_context
context.controller.request ||= ActionController::TestRequest.new
context.request ||= context.controller.request
context.params ||= {}
Thread.current[:current_view_context] = context
context
Thread.current[:current_view_context] ||= build_view_context
end
def self.current=(input)
@ -19,5 +13,15 @@ module Draper
Draper::ViewContext.current = context
end
end
private
def build_view_context
ApplicationController.new.view_context.tap do |context|
context.controller.request ||= ActionController::TestRequest.new
context.request ||= context.controller.request
context.params ||= {}
end
end
end
end