spaceship 0.32.3 → 0.32.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|