Sha256: 820c1a666786707c1aa75cd317390f223b060a0040faacc88c948304124d3306

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

require 'HTTParty'
require 'optimus-runner/clients/mdb_client'
require 'os'

class DeviceDetails


  def get_device_details
    device_names = self.process_android_devices
    android_device_details = find_android_devices(device_names)
    ios_device_details = process_ios_devices
    device_details = android_device_details+ios_device_details
    device_details
  end

  def process_android_devices
    devices = `adb devices`
    return MDBClient.new.format_android_devices devices
  end

  def process_ios_devices
    if(OS.mac?) 
     devices = `instruments -s devices | grep 'iPhone'`
      return MDBClient.new.format_ios_devices devices
    end
    return {}
  end

  def find_android_devices(device_names)
    device_details = []
    device_names.each do |a|
      puts "adb -s #{a['udid']} shell getprop ro.product.model"
      device_model =  `adb -s #{a['udid']} shell getprop ro.product.model`
      device_os_version =  `adb -s #{a['udid']} shell getprop ro.build.version.release`
      a['deviceName'] = device_model.to_s.rstrip
      a['platformVersion'] = device_os_version.to_s.rstrip
      a["platform"] = "ANDROID"
      device_details.push(a)
    end
    device_details
  end

end

div_details = DeviceDetails.new
details = div_details.get_device_details
p details

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
optimus-runner-1.0.2 lib/optimus-runner/DeviceDetails.rb
optimus-runner-0.15.0 lib/optimus-runner/DeviceDetails.rb