Sha256: 1cc3c94191f648ea8d1b4a6f17b54e38bd4e88b56153deb416831d4823be0b46

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

module IOSConfigProfile
  class DeviceInformationPayload < Hash
    include IOSConfigProfile::BasicPayload

    def initialize
      merge! device_information_request_payload
    end

    private

    def device_information_request_payload
      {
        "RequestType" => "DeviceInformation",
        "Queries" => queries,
      }
    end

    def queries
      GENERAL + ITUNES + DEVICE + NETWORK
    end

    GENERAL = %w[UDID Languages Locales DeviceID OrganizationInfo].freeze

    ITUNES = %w[iTunesStoreAccountIsActive iTunesStoreAccountHash].freeze

    DEVICE = %w[
      DeviceName
      OSVersion
      BuildVersion
      ModelName
      Model
      ProductName
      SerialNumber
      DeviceCapacity
      AvailableDeviceCapacity
      BatteryLevel
      CellularTechnology
      IMEI
      MEID
      ModemFirmwareVersion
      IsSupervised
      IsDeviceLocatorServiceEnabled
      IsActivationLockEnabled
      IsDoNotDisturbInEffect
      DeviceID
      EASDeviceIdentifier
    ].freeze

    NETWORK = %w[
      ICCID
      BluetoothMAC
      WiFiMAC
      EthernetMACs
      CurrentCarrierNetwork
      SIMCarrierNetwork
      SubscriberCarrierNetwork
      CarrierSettingsVersion
      PhoneNumber
      VoiceRoamingEnabled
      DataRoamingEnabled
      IsRoaming
      PersonalHotspotEnabled
      SubscriberMCC
      SubscriberMNC
      CurrentMCC
      CurrentMNC
    ].freeze
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ios_config_profile-1.4.1 lib/ios_config_profile/device/device_information_payload.rb
ios_config_profile-1.4.0 lib/ios_config_profile/device/device_information_payload.rb
ios_config_profile-1.3.0 lib/ios_config_profile/device/device_information_payload.rb