Class: DeviceAPI::IOS::Device

Inherits:
Device
  • Object
show all
Defined in:
lib/device_api/ios/device.rb

Overview

Namespace for the Device object.

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Device

Returns a new instance of Device.



12
13
14
15
# File 'lib/device_api/ios/device.rb', line 12

def initialize(options = {})
  @serial = options[:serial]
  @state = options[:state]
end

Instance Method Details

#device_classString

Return the device class - i.e. iPad, iPhone, etc

Returns:

  • (String)

    iOS device class



41
42
43
# File 'lib/device_api/ios/device.rb', line 41

def device_class
  get_prop('DeviceClass')
end

#imeiString

Get the IMEI number of the device

Returns:

  • (String)

    IMEI number of current device



47
48
49
# File 'lib/device_api/ios/device.rb', line 47

def imei
  get_prop('InternationalMobileEquipmentIdentity')
end

#modelString

Look up device model using the ios-devices gem - changing ‘iPad4,7’ to ‘iPad mini 3’

Returns:

  • (String)

    human readable model and version (where applicable)



29
30
31
# File 'lib/device_api/ios/device.rb', line 29

def model
  Ios::Devices.search(get_prop('ProductType')).name
end

#statusString

Mapping of device status - used to provide a consistent status across platforms

Returns:

  • (String)

    common status string



19
20
21
22
23
24
25
# File 'lib/device_api/ios/device.rb', line 19

def status
  {
      'device' => :ok,
      'no device' => :dead,
      'offline' => :offline
  }[@state]
end

#trusted?Boolean

Has the ‘Trust this device’ dialog been accepted?

Returns:

  • (Boolean)

    true if the device is trusted, otherwise false



53
54
55
# File 'lib/device_api/ios/device.rb', line 53

def trusted?
  IDevice.trusted?(serial)
end

#versionString

Returns the devices iOS version number - i.e. 8.2

Returns:

  • (String)

    iOS version number



35
36
37
# File 'lib/device_api/ios/device.rb', line 35

def version
  get_prop('ProductVersion')
end