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

Changeset 8875

Show
Ignore:
Timestamp:
02/15/08 23:09:51 (9 months ago)
Author:
nzkoz
Message:

Add test for Observer#observer_class and change the implementation slightly. Closes #11099 [ernesto.jimenez]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activerecord/lib/active_record/observer.rb

    r8787 r8875  
    152152 
    153153      # The class observed by default is inferred from the observer's class name: 
    154       #   assert_equal [Person], PersonObserver.observed_class 
     154      #   assert_equal Person, PersonObserver.observed_class 
    155155      def observed_class 
    156         if observed_class_name = name.scan(/(.*)Observer/)[0
    157           observed_class_name[0].constantize 
     156        if observed_class_name = /(.*)Observer/.match(name)[1
     157          observed_class_name.constantize 
    158158        else 
    159159          nil 
  • trunk/activerecord/test/cases/lifecycle_test.rb

    r8681 r8875  
    135135    assert_raise(ArgumentError) { Topic.observers = Object.new; Topic.instantiate_observers } 
    136136  end 
     137 
     138  def test_getting_observed_class_from_class_name 
     139    assert_equal Topic, TopicObserver.observed_class 
     140  end 
    137141end