lib/bives.rb in bives-1.0 vs lib/bives.rb in bives-2.0
- old
+ new
@@ -1,18 +1,18 @@
+require 'terrapin'
require_relative "bives/version"
-require 'open4'
module Bives
class ConversionException < Exception
end
class InitialisationException < Exception
end
- JAR_FILENAME = "BiVeS-1.3.12-jar-with-dependencies.jar"
+ JAR_FILENAME = "BiVeS-1.12.1-jar-with-dependencies.jar"
JAR_FILEPATH = File.join File.dirname(__FILE__),"jars","#{JAR_FILENAME}"
def self.included(mod)
unless File.exist?(JAR_FILEPATH)
raise InitialisationException.new("Jar file #{JAR_FILEPATH} not found")
@@ -28,30 +28,13 @@
def compare file1,file2,opts=["reportHtml"]
check_jar
cmd_opts = opts.collect{|o| "--#{o}"}.join(" ")
command = "java -jar #{JAR_FILEPATH} #{cmd_opts} #{file1} #{file2}"
- err_message = ""
- output = ""
- status = Open4::popen4(command) do |pid, stdin, stdout, stderr|
+ output = Terrapin::CommandLine.new(command).run
+ output.strip
+ rescue Terrapin::ExitStatusError => exception
+ raise ConversionException.new(exception.message)
- while ((line = stdout.gets) != nil) do
- output << line
- end
- stdout.close
-
- while ((line=stderr.gets)!= nil) do
- err_message << line
- end
- stderr.close
- end
-
- output=output.strip
-
- if status.to_i != 0
- raise ConversionException.new(err_message)
- end
-
- output
end
end