1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/win32ole/lib/win32ole.rb
suke 6bac2765a7 ext/win32ole/lib/win32ole.rb (metods): rescue WIN32OLEQueryInterfaceError.
test/win32ole/test_win32ole.rb: add test for WIN32OLE#methods


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-05 01:02:04 +00:00

33 lines
588 B
Ruby

begin
require 'win32ole.so'
rescue LoadError
# do nothing
end
if defined?(WIN32OLE)
# WIN32OLE
class WIN32OLE
#
# By overriding Object#methods, WIN32OLE might
# work well with did_you_mean gem.
# This is experimental.
#
# require 'win32ole'
# dict = WIN32OLE.new('Scripting.Dictionary')
# dict.Ade('a', 1)
# #=> Did you mean? Add
#
def methods(*args)
super + ole_methods_safely.map(&:name)
end
private
def ole_methods_safely
ole_methods
rescue WIN32OLEQueryInterfaceError
[]
end
end
end