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