# File lib/termtter/client.rb, line 56 def register_hook(arg, opts = {}, &block) hook = case arg when Hook arg when Hash Hook.new(arg) when String, Symbol options = { :name => arg } options.merge!(opts) options[:exec_proc] = block Hook.new(options) else raise ArgumentError, 'must be given Termtter::Hook, Hash, String or Symbol' end @hooks[hook.name] = hook end