lib/duck_puncher/registration.rb in duck_puncher-4.2.3 vs lib/duck_puncher/registration.rb in duck_puncher-4.3.0

- old
+ new

@@ -3,25 +3,23 @@ module Registration def register(target, *mods) options = mods.last.is_a?(Hash) ? mods.pop : {} target = DuckPuncher.lookup_constant target Ducks.list[target] = Set.new [] unless Ducks.list.key?(target) - Array(mods).each do |mod| - duck = Duck.new target, mod, options + mods = Array(mods).each do |mod| + duck = UniqueDuck.new Duck.new target, mod, options Ducks.list[target] << duck - decorators[target] = build_decorator_class(duck, *Ducks[target]) end - @cached_decorators = nil + [target, *mods] end def register!(*args) register *args call args.first end def deregister(*classes) classes.each &Ducks.list.method(:delete) classes.each &decorators.method(:delete) - @cached_decorators = nil end end end