Sha256: 1e92f64e9f9f78122539907739106911e503cb9a4b9a945006bd5fa44474e001
Contents?: true
Size: 1.5 KB
Versions: 14
Compression:
Stored size: 1.5 KB
Contents
require "juicer" require "juicer/install/base" require "zip/zip" module Juicer module Install # # Install and uninstall routines for the Mozilla Rhino jar. # class RhinoInstaller < Base attr_reader :latest def initialize(install_dir = Juicer.home) super(install_dir) @latest = "1_7R2-RC1" @website = "http://ftp.mozilla.org/pub/mozilla.org/js/" end # # Install Rhino. Downloads the jar file and stores it in the installation # directory along with the License text. # def install(version = nil) version = super((version || latest).gsub(/\./, "_")) base = "rhino#{version}" filename = download(File.join(@website, "#{base}.zip")) target = File.join(@install_dir, path) Zip::ZipFile.open(filename) do |file| FileUtils.mkdir_p(File.join(target, version)) begin file.extract("#{base.sub(/-RC\d/, "")}/LICENSE.txt", File.join(target, version, "LICENSE.txt")) rescue Exception # Fail silently, some releases don't carry the license end file.extract("#{base.sub(/-RC\d/, "")}/js.jar", File.join(target, "bin", "#{base}.jar")) end end # # Uninstalls Rhino # def uninstall(version = nil) super((version || latest).gsub(/\./, "_")) do |dir, version| base = "rhino#{version}" File.delete(File.join(dir, "bin/", "#{base}.jar")) end end end end end
Version data entries
14 entries across 14 versions & 3 rubygems