Method: TkObject#method_missing

Defined in:
lib/tk.rb

#method_missing(id, *args) ⇒ Object



4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
# File 'lib/tk.rb', line 4836

def method_missing(id, *args)
  name = id.id2name
  case args.length
  when 1
    if name[-1] == ?=
      configure name[0..-2], args[0]
      args[0]
    else
      configure name, args[0]
      self
    end
  when 0
    begin
      cget(name)
    rescue
      if self.kind_of?(TkWindow) && name != "to_ary" && name != "to_str"
        fail NameError,
             "unknown option '#{id}' for #{self.inspect} (deleted widget?)"
      else
        super(id, *args)
      end
#        fail NameError,
#             "undefined local variable or method `#{name}' for #{self.to_s}",
#             error_at
    end
  else
    super(id, *args)
#      fail NameError, "undefined method `#{name}' for #{self.to_s}", error_at
  end
end