SketchUpに組み込まれているRubyエンジンは標準ライブラリのサブセットのため、標準ライブラリをrequireすると、LoadErrorが発生します。
それを解消するためのスクリプトを紹介します。
loadpaths.rb
# file: '!loadpaths.rb'
# for Win32
#
# Version 3.0.1 - Public Domain
#
# Authored by : Dan Rathbun
# Contributors : Jim Foltz
#
begin
#
# TWEEKER variables
#
# may change 'ver' to a literal string
if RUBY_VERSION < '1.9.0'
ver=RUBY_VERSION.split('.')[0..1].join('.')
else
ver=RUBY_VERSION
end
#
# 'pre' is the rubylib path prefix
pre='C:/ruby'<<RUBY_VERSION.split('.').join<<'/lib/ruby'
#
plat=RUBY_PLATFORM
#
# add the standard lib path
$LOAD_PATH << "#{pre}/#{ver}"
# add the standard platform sub lib path
$LOAD_PATH << "#{pre}/#{ver}/#{plat}"
#
# optionally add paths to vendor_ruby libs
# only apply if there are things installed there
#$LOAD_PATH << "#{pre}/vendor_ruby/#{ver}"
#$LOAD_PATH << "#{pre}/vendor_ruby/#{ver}/#{plat}"
#
# optionally add paths to site_ruby libs
# only apply if there are things installed there
#$LOAD_PATH << "#{pre}/site_ruby/#{ver}"
#$LOAD_PATH << "#{pre}/site_ruby/#{ver}/#{plat}"
#
$LOAD_PATH.uniq!
#
# print LOAD PATHS to console
# (May not print during Sketchup startup!)
Sketchup.send_action('showRubyPanel:')
UI.start_timer(1,false) {
puts "\nLOAD PATHS:\n"
$LOAD_PATH.each {|x| puts "#{x}\n"}
puts "\n\n"
}
#
end
# cleanup
ver=nil
pre=nil
plat=nil
GC.start
#
# end of '!loadpaths.rb'
このコードの出典は、以下の通りです。
http://sketchucation.com/forums/viewtopic.php?t=29412#p257058
記事執筆時点(2012/12/13)で、v3.0.1です。
使用される方は、最新版を確認される事をおすすめします。
動作環境:
Windows (XP以上?)
Rubyバージョン:1.8.x〜1.9.x