module ViewExampleGroupBehaviour
def assign(name, value)
def assign(name, value) assigns[name] = value end
def assigns
def assigns @assigns ||= {} end
def controller
def controller @controller ||= begin controller = ViewExampleController.new controller.controller_path = controller_path controller.request = ActionDispatch::Request.new(Rack::MockRequest.env_for("/url")) controller end end
def controller_path
def controller_path parts = file_to_render.split('/') parts.pop parts.join('/') end
def file_to_render
def file_to_render running_example.example_group.description end
def method_missing(selector, *args)
def method_missing(selector, *args) if Rails.application.routes.named_routes.helpers.include?(selector) controller.__send__(selector, *args) else super end end
def render
def render @response = view.render :file => file_to_render end
def response
def response @response end
def view
def view @view ||= begin view = ActionView::Base.new(ActionController::Base.view_paths, assigns, controller) view.extend(ActionController::PolymorphicRoutes) view.extend(ViewExtension) view end end