class Spaceship::ConnectAPI::Device

Attributes

added_date[RW]
device_class[RW]
model[RW]
name[RW]
platform[RW]
status[RW]
udid[RW]

Public Class Methods

all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) click to toggle source

API

# File spaceship/lib/spaceship/connect_api/models/device.rb, line 51
def self.all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  resps = client.get_devices(filter: filter, includes: includes).all_pages
  return resps.flat_map(&:to_models)
end
create(client: nil, name: nil, platform: nil, udid: nil) click to toggle source

@param client [ConnectAPI] ConnectAPI client. @param name [String] The name to be assigned to the device. @param platform [String] The platform of the device. @param udid [String] The udid of the device being created. @return (Device) Find a device based on the UDID of the device. nil if no device was found.

# File spaceship/lib/spaceship/connect_api/models/device.rb, line 83
def self.create(client: nil, name: nil, platform: nil, udid: nil)
  client ||= Spaceship::ConnectAPI
  resp = client.post_device(name: name, platform: platform, udid: udid)
  return resp.to_models.first
end
find_by_udid(device_udid, client: nil, platform: nil, include_disabled: false) click to toggle source

@param client [ConnectAPI] ConnectAPI client. @param platform [String] The platform of the device. @param include_disabled [Bool] Whether to include disable devices. false by default. @return (Device) Find a device based on the UDID of the device. nil if no device was found.

# File spaceship/lib/spaceship/connect_api/models/device.rb, line 61
def self.find_by_udid(device_udid, client: nil, platform: nil, include_disabled: false)
  self.all(client: client).find do |device|
    device.udid.casecmp(device_udid) == 0 && (include_disabled ? true : device.enabled?)
  end
end
find_or_create(device_udid, client: nil, name: nil, platform: nil, include_disabled: false) click to toggle source

@param client [ConnectAPI] ConnectAPI client. @param name [String] The name to be assigned to the device, if it needs to be created. @param platform [String] The platform of the device. @param include_disabled [Bool] Whether to include disable devices. false by default. @return (Device) Find a device based on the UDID of the device. If no device was found, nil if no device was found.

# File spaceship/lib/spaceship/connect_api/models/device.rb, line 72
def self.find_or_create(device_udid, client: nil, name: nil, platform: nil, include_disabled: false)
  existing = self.find_by_udid(device_udid, client: client, platform: platform)
  return existing if existing
  return self.create(client: client, name: name, platform: platform, udid: device_udid)
end
type() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/device.rb, line 39
def self.type
  return "devices"
end

Public Instance Methods

enabled?() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/device.rb, line 43
def enabled?
  return status == Status::ENABLED
end