summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/remove_openssl.rb66
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