Module: Selenium::More::Hooks::ClassMethods
- Defined in:
- lib/selenium/more/hooks.rb
Instance Method Summary collapse
Instance Method Details
#hook(method, opts) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/selenium/more/hooks.rb', line 10 def hook(method, opts) if instance_methods.include?(method.to_sym) mod = Module.new do define_method method do |*args| opts[:before].call(self) if opts[:before] ret = super(*args) opts[:after].call(self, ret) if opts[:after] ret end end prepend(mod) else raise NoMethodError, "no #{method} to hook" end end |