Sha256: 4fcabd2a8911364621656d3594f1b9e27737c26c9405a07767ef93b3ac5926fa
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
require 'before_hooks/version' module BeforeHooks def extend(*modules) modules.each do |_module| if _module.singleton_class.instance_methods.include? :before_extended _module.before_extended(self) end end super end def include(*modules) modules.each do |_module| if _module.singleton_class.instance_methods.include? :before_included _module.before_included(self) end end super end def prepend(*modules) modules.each do |_module| if _module.singleton_class.instance_methods.include? :before_prepended _module.before_prepended(self) end end super end # # TODO: add a `before_method_added` and `before_method_reoved`; not yet working; couldn't yet think of a solution # def method_added(method_name) # puts 'METHOD ADDED!' # puts singleton_class.instance_methods.include? :before_method_added # if singleton_class.instance_methods.include? :before_method_added # before_method_added(args) # end # # super # end # # def method_removed(*args) # if singleton_class.instance_methods.include? :before_method_removed # before_method_removed(args) # end # # super # end end Module.send(:prepend, BeforeHooks)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
before_hooks-0.1.3 | lib/before_hooks.rb |
before_hooks-0.1.2 | lib/before_hooks.rb |