Class: Spaceship::Portal::Device
- Inherits:
-
Spaceship::PortalBase
- Object
- Base
- Spaceship::PortalBase
- Spaceship::Portal::Device
- Defined in:
- lib/spaceship/portal/device.rb
Overview
Represents a device from the Apple Developer Portal
Instance Attribute Summary collapse
-
#device_type ⇒ String
Device type.
-
#id ⇒ String
The ID given from the developer portal.
-
#model ⇒ String
Model (can be nil).
-
#name ⇒ String
The name of the device.
-
#platform ⇒ String
The platform of the device.
-
#status ⇒ String
Status of the device.
-
#udid ⇒ String
The UDID of the device.
Attributes inherited from Base
Class Method Summary collapse
-
.all ⇒ Array
Returns all devices registered for this account.
-
.all_apple_tvs ⇒ Array
Returns all Apple TVs registered for this account.
-
.all_ipads ⇒ Array
Returns all iPads registered for this account.
-
.all_iphones ⇒ Array
Returns all iPhones registered for this account.
-
.all_ipod_touches ⇒ Array
Returns all iPods registered for this account.
-
.all_watches ⇒ Array
Returns all Watches registered for this account.
-
.create!(name: nil, udid: nil) ⇒ Device
Register a new device to this account.
-
.factory(attrs) ⇒ Object
Create a new object based on a hash.
-
.find(device_id) ⇒ Device
Find a device based on the ID of the device.
-
.find_by_name(device_name) ⇒ Device
Find a device based on its name.
-
.find_by_udid(device_udid) ⇒ Device
Find a device based on the UDID of the device.
Methods inherited from Spaceship::PortalBase
Methods inherited from Base
attr_accessor, attr_mapping, #attributes, attributes, #initialize, #inspect, mapping_module, method_missing, set_client, #setup, #to_s
Constructor Details
This class inherits a constructor from Spaceship::Base
Instance Attribute Details
#device_type ⇒ String
Returns Device type.
42 43 44 |
# File 'lib/spaceship/portal/device.rb', line 42 def device_type @device_type end |
#id ⇒ String
Returns The ID given from the developer portal. You’ll probably not need it.
8 9 10 |
# File 'lib/spaceship/portal/device.rb', line 8 def id @id end |
#model ⇒ String
Returns Model (can be nil).
33 34 35 |
# File 'lib/spaceship/portal/device.rb', line 33 def model @model end |
#name ⇒ String
Returns The name of the device.
13 14 15 |
# File 'lib/spaceship/portal/device.rb', line 13 def name @name end |
#platform ⇒ String
Returns The platform of the device. This is probably always “ios”.
23 24 25 |
# File 'lib/spaceship/portal/device.rb', line 23 def platform @platform end |
#status ⇒ String
Returns Status of the device. Probably always “c”.
28 29 30 |
# File 'lib/spaceship/portal/device.rb', line 28 def status @status end |
#udid ⇒ String
Returns The UDID of the device.
18 19 20 |
# File 'lib/spaceship/portal/device.rb', line 18 def udid @udid end |
Class Method Details
.all ⇒ Array
Returns all devices registered for this account
62 63 64 |
# File 'lib/spaceship/portal/device.rb', line 62 def all client.devices.map { |device| self.factory(device) } end |
.all_apple_tvs ⇒ Array
Returns all Apple TVs registered for this account
67 68 69 |
# File 'lib/spaceship/portal/device.rb', line 67 def all_apple_tvs client.devices_by_class('pc').map { |device| self.factory(device) } end |
.all_ipads ⇒ Array
Returns all iPads registered for this account
77 78 79 |
# File 'lib/spaceship/portal/device.rb', line 77 def all_ipads client.devices_by_class('ipad').map { |device| self.factory(device) } end |
.all_iphones ⇒ Array
Returns all iPhones registered for this account
82 83 84 |
# File 'lib/spaceship/portal/device.rb', line 82 def all_iphones client.devices_by_class('iphone').map { |device| self.factory(device) } end |
.all_ipod_touches ⇒ Array
Returns all iPods registered for this account
87 88 89 |
# File 'lib/spaceship/portal/device.rb', line 87 def all_ipod_touches client.devices_by_class('ipod').map { |device| self.factory(device) } end |
.all_watches ⇒ Array
Returns all Watches registered for this account
72 73 74 |
# File 'lib/spaceship/portal/device.rb', line 72 def all_watches client.devices_by_class('watch').map { |device| self.factory(device) } end |
.create!(name: nil, udid: nil) ⇒ Device
Register a new device to this account
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/spaceship/portal/device.rb', line 119 def create!(name: nil, udid: nil) # Check whether the user has passed in a UDID and a name unless udid && name raise "You cannot create a device without a device_id (UDID) and name" end # Find the device by UDID, raise an exception if it already exists if self.find_by_udid(udid) raise "The device UDID '#{udid}' already exists on this team." end # It is valid to have the same name for multiple devices device = client.create_device!(name, udid) # Update self with the new device self.new(device) end |
.factory(attrs) ⇒ Object
Create a new object based on a hash. This is used to create a new object based on the server response.
57 58 59 |
# File 'lib/spaceship/portal/device.rb', line 57 def factory(attrs) self.new(attrs) end |
.find(device_id) ⇒ Device
Returns Find a device based on the ID of the device. Attention: This is not the UDID. nil if no device was found.
93 94 95 96 97 |
# File 'lib/spaceship/portal/device.rb', line 93 def find(device_id) all.find do |device| device.id == device_id end end |
.find_by_name(device_name) ⇒ Device
Returns Find a device based on its name. nil if no device was found.
107 108 109 110 111 |
# File 'lib/spaceship/portal/device.rb', line 107 def find_by_name(device_name) all.find do |device| device.name == device_name end end |
.find_by_udid(device_udid) ⇒ Device
Returns Find a device based on the UDID of the device. nil if no device was found.
100 101 102 103 104 |
# File 'lib/spaceship/portal/device.rb', line 100 def find_by_udid(device_udid) all.find do |device| device.udid == device_udid end end |