Method: TkPackage#unknown_proc

Defined in:
lib/tk/package.rb

#unknown_proc(*arg, &b) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/tk/package.rb', line 99

def unknown_proc(*arg, &b)
  size = arg.size

  if size==0 && !b
    # proc info
    procedure(tk_call('package', 'unknown'))

  elsif size==0 && b
    # set proc
    cmd = proc(&b)
    tk_call('package', 'unknown', cmd)
    cmd

  elsif size==1 && !b
    # set proc
    cmd = arg[0]
    if cmd
      tk_call('package', 'unknown', cmd)
      cmd
    else
      # remove proc
      tk_call('package', 'unknown', '')
      nil
    end

  else
    fail ArgumentError, 'too many arguments'
  end
end