class StrongPresenter::ViewContext::BuildStrategy::Full

Attributes

block[R]

Public Class Methods

new(&block) click to toggle source
# File lib/strong_presenter/view_context/build_strategy.rb, line 25
def initialize(&block)
  @block = block
end

Public Instance Methods

call() click to toggle source
# File lib/strong_presenter/view_context/build_strategy.rb, line 29
def call
  controller.view_context.tap do |context|
    context.singleton_class.class_eval(&block) if block
  end
end

Private Instance Methods

controller() click to toggle source
# File lib/strong_presenter/view_context/build_strategy.rb, line 39
def controller
  (StrongPresenter::ViewContext.controller || ApplicationController.new).tap do |controller|
    controller.request ||= ActionController::TestRequest.new if defined?(ActionController::TestRequest)
  end
end