class TrueAutomation::Client
Public Instance Methods
start(options)
click to toggle source
# File lib/true_automation/client.rb, line 10 def start(options) @port = options[:port] remote = options[:remote] ta_debug = options[:ta_debug] if options[:ta_service] driver_path = " --driver #{options[:ta_service]}" elsif options[:driver] driver_path = " --driver #{options[:driver]}" driver_path += " --driver-version #{options[:driver_version]}" if options[:driver_version] end @executable = ENV['TRUEAUTOMATION_EXEC'] || 'trueautomation' if find_executable(@executable).nil? raise "`#{@executable}` not found. Can not find TrueAutomation.IO client" end trueautomation_version = `#{@executable} --version` puts "TrueAutomation.IO client #{trueautomation_version.strip}" Dir.mkdir('log') unless File.exist?('log') logfile = "log/trueautomation-#{Time.now.strftime('%Y%m%dT%H%M%S')}.log" @pid = spawn("#{@executable} --log-file #{logfile} --port #{@port}#{driver_path}#{remote}#{ta_debug}") puts "Started TrueAutomation.IO client with pid #{@pid} listening to port #{@port}" @pid end
stop()
click to toggle source
# File lib/true_automation/client.rb, line 40 def stop begin if @pid puts "Stopping TrueAutomation.IO Client with pid #{@pid}" uri = URI("http://localhost:#{@port}/shutdown") Net::HTTP.get(uri) @pid = nil end rescue end end
wait_until_start()
click to toggle source
# File lib/true_automation/client.rb, line 53 def wait_until_start counter = 0 loop do break if check_connection or counter >= 10 counter += 1 sleep 2 end end
Private Instance Methods
check_connection()
click to toggle source
# File lib/true_automation/client.rb, line 64 def check_connection Socket.tcp('localhost', @port, connect_timeout: 2) { true } rescue false end