module Granite::ProjectorHelpers::ClassMethods
Public Instance Methods
draw_routes(&block)
click to toggle source
# File lib/granite/rspec/projector_helpers.rb, line 11 def draw_routes(&block) before(:all) do routes = Rails.application.routes routes.disable_clear_and_finalize = true routes.draw(&block) end after(:all) do Rails.application.routes.disable_clear_and_finalize = false Rails.application.reload_routes! Rails.application.routes.routes.clear_cache! end end
projector(&block)
click to toggle source
# File lib/granite/rspec/projector_helpers.rb, line 25 def projector(&block) setup_controller(&block) setup_view_context let(:projector) { controller.projector } end
Private Instance Methods
controller_class()
click to toggle source
# File lib/granite/rspec/projector_helpers.rb, line 35 def controller_class end
setup_controller() { || ... }
click to toggle source
# File lib/granite/rspec/projector_helpers.rb, line 33 def setup_controller singleton_class.class_eval do def controller_class end end before do @controller = yield.controller_class.new @controller.class.instance_variable_set(:@controller_path, yield.projector_path) @controller.request = @request end end
setup_view_context()
click to toggle source
# File lib/granite/rspec/projector_helpers.rb, line 46 def setup_view_context before { Granite.view_context = controller.view_context } after { Granite.view_context = nil } end