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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
602 B
Ruby
Raw Normal View History

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).map(&:to_sym)
end
private
def ole_methods_safely
ole_methods
rescue WIN32OLEQueryInterfaceError
[]
end
end
end