class ADB
Public Class Methods
connected_devices()
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 9 def connected_devices devices = [] adb_devices_l.split("\n").each do |line| id = extract_device_id(line) model = extract_device_model(line) next if id.nil? || model.nil? devices << AndroidDevice.new(id: id, model: model) end devices rescue StandardError => _e raise 'ERROR: Can\'t read Android devices connected.' end
device_screen_size(device_id:)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 23 def device_screen_size(device_id:) adb_size = screen_size_for_device_with_id(device_id: device_id) extract_device_screen_size_info(adb_size) rescue StandardError => _e raise "ERROR: Can\'t read Android device #{device_id} screen size." end
device_sdk_version(device_id:)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 39 def device_sdk_version(device_id:) version = sdk_version_for_device_with_id(device_id: device_id) version.strip rescue StandardError => _e raise "ERROR: Can\'t get SDK version for device #{device_id}." end
save_snapshot_for_device_with_id_in_file_path(device_id:, file_path:)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 30 def save_snapshot_for_device_with_id_in_file_path(device_id:, file_path:) save_snapshot_for_device_with_id_in_path( device_id: device_id, file_path: file_path ) rescue StandardError => _e raise "ERROR: Can\'t save snapshot for device #{device_id}." end
Private Class Methods
extract_device_id(line)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 48 def extract_device_id(line) return line.split(' ').first if line.match(/device(?!s)/) end
extract_device_model(line)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 52 def extract_device_model(line) return unless line.match(/device(?!s)/) line.scan(/model:(.*) device/).flatten.first end
extract_device_screen_size_info(line)
click to toggle source
# File lib/kraken-mobile/mobile/adb.rb, line 58 def extract_device_screen_size_info(line) parts = line.strip!.split(' ') size = parts[parts.count - 1] return [0, 0] unless size.include?('x') size.split('x').map(&:to_i) end