spaceship 0.32.3 → 0.32.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/spaceship/portal/provisioning_profile.rb +32 -17
- data/lib/spaceship/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1ed1ed0e0ca3f83e0938bfef281e22c419dda58
|
4
|
+
data.tar.gz: 671c565c25a2f2f36471ad8a11409a6f2d857067
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd6289e6ba47c42d84ed2f6e077f891510b4c03538e3d786a434610755768ef995f34aa87846e5c8a454fc4bb86e267971d3724276f5e0a87dbc45653446bee1
|
7
|
+
data.tar.gz: cd6b1a3daa56dbc8ab755e8f49ca653c2992988572e586c521e111b98c85d9d4ff11459f98051becb66891a0c4e61fad3a17b59039eb65c51af84a90a5ea23a0
|
@@ -119,6 +119,11 @@ module Spaceship
|
|
119
119
|
# profile.devices.first.name
|
120
120
|
attr_accessor :devices
|
121
121
|
|
122
|
+
# This is the second level request, which is done before creating the object
|
123
|
+
# this includes information about the devices and the certificates
|
124
|
+
# more information on this issue https://github.com/fastlane/fastlane/issues/6137
|
125
|
+
attr_accessor :profile_details
|
126
|
+
|
122
127
|
attr_mapping({
|
123
128
|
'provisioningProfileId' => :id,
|
124
129
|
'UUID' => :uuid,
|
@@ -148,7 +153,12 @@ module Spaceship
|
|
148
153
|
# This is used to create a new object based on the server response.
|
149
154
|
def factory(attrs)
|
150
155
|
# Ad Hoc Profiles look exactly like App Store profiles, but usually include devices
|
151
|
-
|
156
|
+
profile_details = client.provisioning_profile_details(provisioning_profile_id: attrs["provisioningProfileId"])
|
157
|
+
|
158
|
+
# The only difference between App Store and Ad Hoc provisioniong profile is the devices that are attached
|
159
|
+
if attrs['distributionMethod'] == 'store' && (profile_details['devices'] || []).size > 0
|
160
|
+
attrs['distributionMethod'] = 'adhoc'
|
161
|
+
end
|
152
162
|
# available values of `distributionMethod` at this point: ['adhoc', 'store', 'limited']
|
153
163
|
|
154
164
|
klass = case attrs['distributionMethod']
|
@@ -164,12 +174,30 @@ module Spaceship
|
|
164
174
|
raise "Can't find class '#{attrs['distributionMethod']}'"
|
165
175
|
end
|
166
176
|
|
167
|
-
# eagerload the Apps
|
177
|
+
# eagerload the Apps using the same client if we have to.
|
168
178
|
attrs['appId'] = App.set_client(@client).factory(attrs['appId'])
|
169
|
-
attrs['devices'].map! { |device| Device.set_client(@client).factory(device) }
|
170
179
|
|
171
180
|
klass.client = @client
|
172
|
-
klass.new(attrs)
|
181
|
+
obj = klass.new(attrs)
|
182
|
+
|
183
|
+
# Set the response of the details request, in case we want to access it later on
|
184
|
+
obj.profile_details = profile_details
|
185
|
+
|
186
|
+
# Since 15th September 2016 certificates and devices are hidden behind another request
|
187
|
+
# see https://github.com/fastlane/fastlane/issues/6137 for more information
|
188
|
+
# That's why we set it here
|
189
|
+
|
190
|
+
# Parse all the devices from the details request
|
191
|
+
obj.devices = (profile_details["devices"] || []).collect do |device|
|
192
|
+
Device.set_client(client).factory(device)
|
193
|
+
end
|
194
|
+
|
195
|
+
# Parse all the certificates from the details request
|
196
|
+
obj.certificates = (profile_details["certificates"] || []).collect do |cert|
|
197
|
+
Certificate.set_client(client).factory(cert)
|
198
|
+
end
|
199
|
+
|
200
|
+
return obj
|
173
201
|
end
|
174
202
|
|
175
203
|
# @return (String) The human readable name of this profile type.
|
@@ -390,19 +418,6 @@ module Spaceship
|
|
390
418
|
def mac?
|
391
419
|
platform == 'mac'
|
392
420
|
end
|
393
|
-
|
394
|
-
# Since 15th September 2016 this hidden behind another request
|
395
|
-
# see https://github.com/fastlane/fastlane/issues/6137 for more information
|
396
|
-
def certificates
|
397
|
-
@internal_certificates ||= (details["certificates"] || []).collect do |cert|
|
398
|
-
Certificate.set_client(client).factory(cert)
|
399
|
-
end
|
400
|
-
end
|
401
|
-
|
402
|
-
# This is data that can only be fetched from the getProvisioningProfile.action API endpoint
|
403
|
-
def details
|
404
|
-
@details ||= client.provisioning_profile_details(provisioning_profile_id: self.id)
|
405
|
-
end
|
406
421
|
end
|
407
422
|
end
|
408
423
|
end
|
data/lib/spaceship/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spaceship
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.32.
|
4
|
+
version: 0.32.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -392,7 +392,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
392
392
|
version: '0'
|
393
393
|
requirements: []
|
394
394
|
rubyforge_project:
|
395
|
-
rubygems_version: 2.
|
395
|
+
rubygems_version: 2.6.6
|
396
396
|
signing_key:
|
397
397
|
specification_version: 4
|
398
398
|
summary: Ruby library to access the Apple Dev Center and iTunes Connect
|