summaryrefslogtreecommitdiff
path: root/ext/win32ole/lib/win32ole.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/win32ole/lib/win32ole.rb')
-rw-r--r--ext/win32ole/lib/win32ole.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/win32ole/lib/win32ole.rb b/ext/win32ole/lib/win32ole.rb
index be9d0d4e9b..635510b277 100644
--- a/ext/win32ole/lib/win32ole.rb
+++ b/ext/win32ole/lib/win32ole.rb
@@ -19,7 +19,15 @@ if defined?(WIN32OLE)
# #=> Did you mean? Add
#
def methods(*args)
- super + ole_methods.map(&:name)
+ super + ole_methods_safely.map(&:name)
+ end
+
+ private
+
+ def ole_methods_safely
+ ole_methods
+ rescue WIN32OLEQueryInterfaceError
+ []
end
end
end