class Rails_helper
Attributes
controller[RW]
Public Class Methods
current_controller()
click to toggle source
# File lib/rails_helper.rb, line 118 def Helper.current_controller Current.controller end
dependencies()
click to toggle source
# File lib/rails_helper.rb, line 6 def Helper.dependencies { 'rails_current' => [ 'rails_current', ' >= 1.0' ], 'rails_default_url_options' => [ 'rails_default_url_options', ' >= 1.0' ] } end
helpers=(*args)
click to toggle source
# File lib/rails_helper.rb, line 64 def Helper.helpers=(*args) :noop end
mock_controller()
click to toggle source
see ./actionpack/test/controller/caching_test.rb OUCH!
# File lib/rails_helper.rb, line 71 def Helper.mock_controller require 'rails' require 'action_controller' require 'action_dispatch/testing/test_request.rb' require 'action_dispatch/testing/test_response.rb' store = ActiveSupport::Cache::MemoryStore.new controller = mock_controller_class.new controller.perform_caching = true controller.cache_store = store request = ActionDispatch::TestRequest.new response = ActionDispatch::TestResponse.new controller.request = request controller.response = response singleton_class = class << controller self end singleton_class.module_eval do define_method(:default_url_options) do @default_url_options ||= ( defined?(DefaultUrlOptions) ? DefaultUrlOptions.dup : {} ) end end controller end
mock_controller_class()
click to toggle source
# File lib/rails_helper.rb, line 105 def Helper.mock_controller_class unless const_defined?(:Controller) controller_class = if defined?(::ApplicationController) Class.new(::ApplicationController) else Class.new(::ActionController::Base) end const_set(:Controller, controller_class) end return const_get(:Controller) end
new(*args, &block)
click to toggle source
# File lib/rails_helper.rb, line 13 def Helper.new(*args, &block) options = args.extract_options!.to_options! controllers, args = args.partition{|arg| ActionController::Base === arg} controller = controllers.first || Helper.current_controller || Helper.mock_controller controller_class = controller.send(:class) helpers = args helpers.push(nil) if helpers.empty? helpers.flatten! helpers.uniq! modules = [] helpers.each do |mod| case mod when NilClass, :all, 'all' controller_class.send(:all_application_helpers).each do |name| file_name = name.to_s.underscore + '_helper' mod = file_name.camelize.constantize modules.push(mod) end when Module modules.push(mod) else raise(ArgumentError, mod.inspect) end end view_class = Class.new(self) do modules.each do |mod| include mod end self.helpers = helpers end view_class.allocate.tap do |helper| helper.send(:initialize, context=nil, assigns={}, controller, formats=nil) helper end end
new(*args, &block)
click to toggle source
# File lib/rails_helper.rb, line 60 def initialize(*args, &block) :noop end
version()
click to toggle source
# File lib/rails_helper.rb, line 2 def Helper.version '2.2.2' end
Public Instance Methods
_routes()
click to toggle source
# File lib/rails_helper.rb, line 122 def _routes Rails.application.routes end
default_url_options()
click to toggle source
# File lib/rails_helper.rb, line 126 def default_url_options defined?(DefaultUrlOptions) ? DefaultUrlOptions : {} end
session()
click to toggle source
# File lib/rails_helper.rb, line 130 def session controller.session end