Class: Aspera::Products::Trsdk
- Inherits:
-
Object
- Object
- Aspera::Products::Trsdk
- Defined in:
- lib/aspera/products/trsdk.rb
Constant Summary collapse
- APP_NAME =
'IBM Aspera Transfer Daemon'
Class Method Summary collapse
-
.daemon_port_from_log(log_file) ⇒ Object
Well, the port number is only in log file.
-
.locations ⇒ Object
standard folder locations.
-
.sdk_directory ⇒ Object
The path to folder where SDK is installed.
-
.sdk_directory=(v) ⇒ Object
location of SDK files.
- .transferd_path ⇒ Object
Class Method Details
.daemon_port_from_log(log_file) ⇒ Object
Well, the port number is only in log file
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/aspera/products/trsdk.rb', line 35 def daemon_port_from_log(log_file) result = nil # if port is zero, a dynamic port was created, get it File.open(log_file, 'r') do |file| file.each_line do |line| # Well, it's tricky to depend on log if (m = line.match(/Info: API Server: Listening on ([^:]+):(\d+) /)) result = m[2].to_i # no "break" , need to read last matching log line end end end raise 'Port not found in daemon logs' if result.nil? Log.log.debug{"Got port #{result} from log"} return result end |
.locations ⇒ Object
standard folder locations
9 10 11 12 13 14 |
# File 'lib/aspera/products/trsdk.rb', line 9 def locations [{ app_root: sdk_directory, sub_bin: '' }].map { |i| i.merge({ expected: APP_NAME }) } end |
.sdk_directory ⇒ Object
Returns the path to folder where SDK is installed.
24 25 26 27 28 |
# File 'lib/aspera/products/trsdk.rb', line 24 def sdk_directory Aspera.assert(!@sdk_dir.nil?){'SDK path was not initialized'} FileUtils.mkdir_p(@sdk_dir) @sdk_dir end |
.sdk_directory=(v) ⇒ Object
location of SDK files
17 18 19 20 21 |
# File 'lib/aspera/products/trsdk.rb', line 17 def sdk_directory=(v) Log.log.debug{"sdk_directory=#{v}"} @sdk_dir = v sdk_directory end |
.transferd_path ⇒ Object
30 31 32 |
# File 'lib/aspera/products/trsdk.rb', line 30 def transferd_path return File.join(sdk_directory, Environment.exe_file('asperatransferd')) # cspell:disable-line end |