Permalink
Browse files

Don't raise exception when comparing ActiveRecord::Reflection. [#842

…state:resolved]

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
  • Loading branch information...
1 parent b3c9d53 commit 8f4d3957a6986fe450cfd9058bb92ae1d6e5e745 @ryanb ryanb committed with lifo Aug 15, 2008
Showing with 5 additions and 1 deletion.
  1. +1 −1 activerecord/lib/active_record/reflection.rb
  2. +4 −0 activerecord/test/cases/reflection_test.rb
View
2 activerecord/lib/active_record/reflection.rb
@@ -109,7 +109,7 @@ def class_name
# Returns +true+ if +self+ and +other_aggregation+ have the same +name+ attribute, +active_record+ attribute,
# and +other_aggregation+ has an options hash assigned to it.
def ==(other_aggregation)
- name == other_aggregation.name && other_aggregation.options && active_record == other_aggregation.active_record
+ other_aggregation.kind_of?(self.class) && name == other_aggregation.name && other_aggregation.options && active_record == other_aggregation.active_record
end
def sanitized_conditions #:nodoc:
View
4 activerecord/test/cases/reflection_test.rb
@@ -166,6 +166,10 @@ def test_reflection_of_all_associations
assert_equal 0, Firm.reflect_on_all_associations(:belongs_to).size
end
+ def test_reflection_should_not_raise_error_when_compared_to_other_object
+ assert_nothing_raised { Firm.reflections[:clients] == Object.new }
+ end
+
private
def assert_reflection(klass, association, options)
assert reflection = klass.reflect_on_association(association)

0 comments on commit 8f4d395

Please sign in to comment.