require method will do this. (RubyGems modifies it to load gems.)
So for example …
… will load the RubyZip gem, IF it is installed.
If not it will raise an exception. Lets try and load a bogus gem named “bogus-gem” …
#=> Error: #<LoadError: cannot load such file -- bogus-gem>
#=> C:/Program Files/SketchUp/SketchUp 2016/Tools/RubyStdLib/rubygems/core_ext/kernel_require.rb:45:in `require'
… see how the first backtrace is from rubygems ?
So you can trap that
LoadError exception in a
rescue clause …
rescue Gem::InstallError => error
puts "ERROR! RubyZip could not be installed."
Now, RubyZip is a weird variance that does not have the same load name as it’s gemname.
Normally gems names and the name of their loader is the same so you can “require” the same string.
The folder can be gotten from SketchUp Ruby thus …
… but you should be an expert at how rubygems are setup so as not to break the user’s installation.
…okay a different Tomasz. Welcome …