Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8409

Show
Ignore:
Timestamp:
12/15/07 02:29:36 (9 months ago)
Author:
bitsweat
Message:

Ruby 1.9 compat: helpers

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/lib/action_controller/helpers.rb

    r8401 r8409  
     1# FIXME: helper { ... } is broken on Ruby 1.9 
    12module ActionController #:nodoc: 
    23  module Helpers #:nodoc: 
     
    121122                require_dependency(file_name) 
    122123              rescue LoadError => load_error 
    123                 requiree = / -- (.*?)(\.rb)?$/.match(load_error).to_a[1] 
     124                requiree = / -- (.*?)(\.rb)?$/.match(load_error.message).to_a[1] 
    124125                if requiree == file_name 
    125126                  msg = "Missing helper file helpers/#{file_name}.rb" 
  • trunk/actionpack/test/controller/helper_test.rb

    r6221 r8409  
    11require File.dirname(__FILE__) + '/../abstract_unit' 
    22 
    3 silence_warnings { ActionController::Helpers::HELPERS_DIR = File.dirname(__FILE__) + '/../fixtures/helpers' } 
     3ActionController::Helpers::HELPERS_DIR.replace File.dirname(__FILE__) + '/../fixtures/helpers' 
    44 
    55class TestController < ActionController::Base 
     
    131131 
    132132  def test_all_helpers 
     133    methods = ApplicationController.master_helper_module.instance_methods.map(&:to_s) 
     134 
    133135    # abc_helper.rb 
    134     assert ApplicationController.master_helper_module.instance_methods.include?("bare_a"
     136    assert methods.include?('bare_a'
    135137 
    136138    # fun/games_helper.rb 
    137     assert ApplicationController.master_helper_module.instance_methods.include?("stratego"
     139    assert methods.include?('stratego'
    138140 
    139141    # fun/pdf_helper.rb 
    140     assert ApplicationController.master_helper_module.instance_methods.include?("foobar"
     142    assert methods.include?('foobar'
    141143  end 
    142144 
    143145  private 
    144146    def expected_helper_methods 
    145       TestHelper.instance_methods 
     147      TestHelper.instance_methods.map(&:to_s) 
    146148    end 
    147149 
    148150    def master_helper_methods 
    149       @controller_class.master_helper_module.instance_methods 
     151      @controller_class.master_helper_module.instance_methods.map(&:to_s) 
    150152    end 
    151153