Class: Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_helper.rb

Defined Under Namespace

Classes: Engine

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ Helper

Returns a new instance of Helper.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/rails_helper.rb', line 20

def initialize(*args, &block)
  @options = args.extract_options!.to_options!
  @args = args
  @block = block

  controllers, args = args.partition{|arg| ActionController::Base === arg}

  @controller = controllers.first || Helper.current_controller || Helper.mock_controller

  @modules = args

  @controller = controller
  @modules.push(nil) if @modules.empty?
  @modules.flatten.uniq.each do |mod|
    case mod
      when NilClass, :all, 'all'
        extend ::ActionView::Helpers
      when Module
        extend mod
      else
        raise ArgumentError, mod.class.name
    end
  end
end

Instance Attribute Details

#argsObject

Returns the value of attribute args.



15
16
17
# File 'lib/rails_helper.rb', line 15

def args
  @args
end

#blockObject

Returns the value of attribute block.



16
17
18
# File 'lib/rails_helper.rb', line 16

def block
  @block
end

#controllerObject

Returns the value of attribute controller.



17
18
19
# File 'lib/rails_helper.rb', line 17

def controller
  @controller
end

#modulesObject

Returns the value of attribute modules.



18
19
20
# File 'lib/rails_helper.rb', line 18

def modules
  @modules
end

#optionsObject

Returns the value of attribute options.



14
15
16
# File 'lib/rails_helper.rb', line 14

def options
  @options
end

Class Method Details

.current_controllerObject



61
62
63
# File 'lib/rails_helper.rb', line 61

def Helper.current_controller
  Current.controller
end

.dependenciesObject



6
7
8
9
10
11
# 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

.mock_controllerObject

see ./actionpack/test/controller/caching_test.rb OUCH!



46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/rails_helper.rb', line 46

def Helper.mock_controller
  require 'action_dispatch/testing/test_request.rb'
  require 'action_dispatch/testing/test_response.rb'
  store = ActiveSupport::Cache::MemoryStore.new
  controller = ApplicationController.new
  controller.perform_caching = true
  controller.cache_store = store
  request = ActionDispatch::TestRequest.new
  response = ActionDispatch::TestResponse.new
  controller.request = request
  controller.response = response
  controller.send(:default_url_options).merge!(DefaultUrlOptions) if defined?(DefaultUrlOptions)
  controller
end

.versionObject



2
3
4
# File 'lib/rails_helper.rb', line 2

def Helper.version
  '1.3.0'
end

Instance Method Details

#_routesObject



65
66
67
# File 'lib/rails_helper.rb', line 65

def _routes
  Rails.application.routes
end

#default_url_optionsObject



69
70
71
# File 'lib/rails_helper.rb', line 69

def default_url_options
  defined?(DefaultUrlOptions) ? DefaultUrlOptions : {}
end

#sessionObject



73
74
75
# File 'lib/rails_helper.rb', line 73

def session
  controller.session
end