class Fairdom::OpenbisApi::JavaExecution
Attributes
query_object[R]
Public Class Methods
new(query_object)
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 9 def initialize(query_object) @query_object = query_object end
Public Instance Methods
execute(options)
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 13 def execute(options) command = execute_command(options) output = Terrapin::CommandLine.new(command).run JSON.parse(output.strip) rescue Terrapin::ExitStatusError => exception raise OpenbisQueryException, exception.message end
Private Instance Methods
command_from_options(options)
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 27 def command_from_options(options) options.collect do |key, value| "%#{key}%:%#{value.tr(' ', '+')}%" end.join("\,") end
execute_command(options)
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 23 def execute_command(options) "#{java_root_command} -#{query_object.command_option_key} '{#{command_from_options(options)}}'" end
jar_file()
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 41 def jar_file "openseek-api-#{Fairdom::OpenbisApi::JAR_VERSION}.jar" end
jar_path()
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 37 def jar_path File.join(File.dirname(__dir__), "../../jars/#{jar_file}") end
java_root_command()
click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 33 def java_root_command "java -jar #{jar_path} #{query_object.root_command_options}" end