diff options
-rw-r--r-- | util/remove_openssl.rb | 66 |
1 files changed, 50 insertions, 16 deletions
diff --git a/util/remove_openssl.rb b/util/remove_openssl.rb index c47e335391..a98f227f28 100644 --- a/util/remove_openssl.rb +++ b/util/remove_openssl.rb @@ -3,19 +3,53 @@ require "rbconfig" require "fileutils" -archdir = RbConfig::CONFIG["archdir"] -rubylibdir = RbConfig::CONFIG["rubylibdir"] -default_specifications_dir = Gem.default_specifications_dir - -openssl_rb = File.join(rubylibdir, "openssl.rb") -openssl_gemspec = Dir.glob("#{default_specifications_dir}/openssl-*.gemspec").first - -openssl_ext = if RUBY_PLATFORM == "java" - File.join(rubylibdir, "jopenssl.jar") - else - File.join(archdir, "openssl.so") - end - -FileUtils.mv openssl_rb, openssl_rb + "_" -FileUtils.mv openssl_ext, openssl_ext + "_" -FileUtils.mv openssl_gemspec, openssl_gemspec + "_" if openssl_gemspec +class OpensslSimulator + attr_reader :openssl_rb, :openssl_gemspec, :openssl_ext + + def initialize + archdir = RbConfig::CONFIG["archdir"] + rubylibdir = RbConfig::CONFIG["rubylibdir"] + default_specifications_dir = Gem.default_specifications_dir + + @openssl_rb = File.join(rubylibdir, "openssl.rb") + @openssl_gemspec = Dir.glob("#{default_specifications_dir}/openssl-*.gemspec").first + + @openssl_ext = if RUBY_PLATFORM == "java" + File.join(rubylibdir, "jopenssl.jar") + else + File.join(archdir, "openssl.so") + end + end + + def hide_openssl + hide_file openssl_rb + hide_file openssl_ext + hide_file openssl_gemspec if openssl_gemspec + end + + def unhide_openssl + unhide_file openssl_gemspec if openssl_gemspec + unhide_file openssl_ext + unhide_file openssl_rb + end + + private + + def hide_file(file) + FileUtils.mv file, file + "_" + end + + def unhide_file(file) + FileUtils.mv file + "_", file + end +end + +if $0 == __FILE__ + openssl_simulate = OpensslSimulator.new + + if ARGV[0] == "--revert" + openssl_simulate.unhide_openssl + else + openssl_simulate.hide_openssl + end +end |