Skip to content

Commit 5fd72fe

Browse files
committed
monkey hell
1 parent e22bc25 commit 5fd72fe

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

lib/closure_tree/hierarchy_maintenance.rb

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,24 @@ def rebuild!
9999
end
100100
end
101101

102-
# Horrible monkeypatch to address https://github.com/mceachen/closure_tree/issues/68
103-
module ActiveRecord
104-
module Associations
105-
class CollectionProxy
106-
def _ct_reset
107-
@association.reset
108-
end
109-
end
102+
module RailsReset
103+
def _ct_reset
104+
reset
110105
end
111106
end
107+
108+
module RailsAssociationReset
109+
def _ct_reset
110+
@association.reset
111+
end
112+
end
113+
114+
# Horrible monkeypatch to address https://github.com/mceachen/closure_tree/issues/68
115+
case [ActiveRecord::VERSION.MAJOR, ActiveRecord::VERSION.MINOR].join(".")
116+
when "3.0", "4.0"
117+
ActiveRecord::Associations::CollectionAssociation.send(:include, RailsReset)
118+
when "3.1", "3.2"
119+
ActiveRecord::Associations::CollectionProxy.send(:include, RailsAssociationReset)
120+
else
121+
raise "unsupported version of rails"
122+
end

0 commit comments

Comments
 (0)