Method: Tk::Tcllib::ChatWidget#hook_add
- Defined in:
- lib/tkextlib/tcllib/chatwidget.rb
#hook_add(type, *args, &blk) ⇒ Object
args -> [prior, cmd], [prior], [cmd]
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/tkextlib/tcllib/chatwidget.rb', line 93 def hook_add(type, *args, &blk) # args -> [prior, cmd], [prior], [cmd] #type -> 'message', 'post', 'names_group', 'names_nick', 'chatstate', 'url' if prior = args.shift if !prior.kind_of?(Numeric) cmd = prior if (prior = args.shift) && !prior.kind_of?(Numeric) # error args.unshift(prior) end args.unshift(cmd) end prior ||= 50 # default priority end cmd = args.shift || blk fail ArgumentError, "invalid arguments" unless args.empty? fail ArgumentError, "no callback is given" unless cmd _parse_hook_list(tk_send('hook', 'add', type, cmd, prior)) end |