spaceship 0.29.1 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/spaceship/tunes/app_version.rb +79 -18
- 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: 0c8703b43554cede5448efcfdca163bd53a68bab
|
4
|
+
data.tar.gz: f36dc587a3b0b35f7822a2239842c938f8ff960b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cee57e7c7ce91123da67e7ea96b701ca14995f2d8d846f181f969be2173953be2c850fbafe5eb0162ad16978670b7e80e8ccdb14673ccad2fed76e0ea597899c
|
7
|
+
data.tar.gz: 3eef484c169b9b547659e9898ded742a1fd717ed8eee91e6db4794c659699a65e8ff25d21b8294f8ef0def0d90a296abd0a2ace0f9d35ce4d6a8984e9aded644
|
@@ -358,6 +358,7 @@ module Spaceship
|
|
358
358
|
raise "sort_order must not be > 5" if sort_order > 5
|
359
359
|
# this will also check both language and device parameters
|
360
360
|
device_lang_screenshots = screenshots_data_for_language_and_device(language, device)["value"]
|
361
|
+
|
361
362
|
existing_sort_orders = device_lang_screenshots.map { |s| s["value"]["sortOrder"] }
|
362
363
|
if screenshot_path # adding / replacing
|
363
364
|
upload_file = UploadFile.from_path screenshot_path
|
@@ -372,6 +373,15 @@ module Spaceship
|
|
372
373
|
"originalFileName" => upload_file.file_name
|
373
374
|
}
|
374
375
|
}
|
376
|
+
|
377
|
+
# We disable "scaling" for this device type / language combination
|
378
|
+
# We only set this, if we actually successfully uploaded a new screenshot
|
379
|
+
# for this device / language combination
|
380
|
+
# if this value is not set, iTC will fallback to another device type for screenshots
|
381
|
+
language_details = raw_data_details.find { |d| d["language"] == language }["displayFamilies"]["value"]
|
382
|
+
device_language_details = language_details.find { |display_family| display_family['name'] == device }
|
383
|
+
device_language_details["scaled"]["value"] = false
|
384
|
+
|
375
385
|
if existing_sort_orders.include?(sort_order) # replace
|
376
386
|
device_lang_screenshots[existing_sort_orders.index(sort_order)] = new_screenshot
|
377
387
|
else # add
|
@@ -528,13 +538,17 @@ module Spaceship
|
|
528
538
|
# IDEA: better error for non existing language
|
529
539
|
raise "#{language} isn't an activated language" unless languages.count > 0
|
530
540
|
lang_details = languages[0]
|
531
|
-
|
532
|
-
|
533
|
-
|
541
|
+
display_families = lang_details["displayFamilies"]["value"]
|
542
|
+
device_details = display_families.find { |display_family| display_family['name'] == device }
|
543
|
+
raise "Unexpected state: missing device details for #{device}" unless device_details.key?(data_field)
|
544
|
+
return device_details[data_field]
|
545
|
+
rescue => ex
|
546
|
+
raise "iTunes Connect error: #{ex}"
|
534
547
|
end
|
535
548
|
|
536
549
|
def setup_screenshots
|
537
550
|
@screenshots = {}
|
551
|
+
|
538
552
|
raw_data_details.each do |row|
|
539
553
|
# Now that's one language right here
|
540
554
|
@screenshots[row['language']] = setup_screenshots_for(row)
|
@@ -543,16 +557,58 @@ module Spaceship
|
|
543
557
|
|
544
558
|
# generates the nested data structure to represent screenshots
|
545
559
|
def setup_screenshots_for(row)
|
546
|
-
|
547
|
-
return [] unless
|
560
|
+
display_families = row.fetch("displayFamilies", {}).fetch("value", nil)
|
561
|
+
return [] unless display_families
|
548
562
|
|
549
563
|
result = []
|
550
564
|
|
551
|
-
|
552
|
-
|
565
|
+
display_families.each do |display_family|
|
566
|
+
# {
|
567
|
+
# "name": "iphone6Plus",
|
568
|
+
# "scaled": {
|
569
|
+
# "value": false,
|
570
|
+
# "isEditable": false,
|
571
|
+
# "isRequired": false,
|
572
|
+
# "errorKeys": null
|
573
|
+
# },
|
574
|
+
# "screenshots": {
|
575
|
+
# "value": [{
|
576
|
+
# "value": {
|
577
|
+
# "assetToken": "Purple62/v4/08/0a/04/080a0430-c2cc-2577-f491-9e0a09c58ffe/mzl.pbcpzqyg.jpg",
|
578
|
+
# "sortOrder": 1,
|
579
|
+
# "type": null,
|
580
|
+
# "originalFileName": "ios-414-1.jpg"
|
581
|
+
# },
|
582
|
+
# "isEditable": true,
|
583
|
+
# "isRequired": false,
|
584
|
+
# "errorKeys": null
|
585
|
+
# }, {
|
586
|
+
# "value": {
|
587
|
+
# "assetToken": "Purple71/v4/de/81/aa/de81aa10-64f6-332e-c974-9ee46adab675/mzl.cshkjvwl.jpg",
|
588
|
+
# "sortOrder": 2,
|
589
|
+
# "type": null,
|
590
|
+
# "originalFileName": "ios-414-2.jpg"
|
591
|
+
# },
|
592
|
+
# "isEditable": true,
|
593
|
+
# "isRequired": false,
|
594
|
+
# "errorKeys": null
|
595
|
+
# }],
|
596
|
+
# "isEditable": true,
|
597
|
+
# "isRequired": false,
|
598
|
+
# "errorKeys": null
|
599
|
+
# },
|
600
|
+
# "trailer": {
|
601
|
+
# "value": null,
|
602
|
+
# "isEditable": true,
|
603
|
+
# "isRequired": false,
|
604
|
+
# "errorKeys": null
|
605
|
+
# }
|
606
|
+
# }
|
607
|
+
|
608
|
+
display_family.fetch("screenshots", {}).fetch("value", []).each do |screenshot|
|
553
609
|
screenshot_data = screenshot["value"]
|
554
610
|
data = {
|
555
|
-
device_type:
|
611
|
+
device_type: display_family['name'],
|
556
612
|
language: row["language"]
|
557
613
|
}.merge(screenshot_data)
|
558
614
|
result << Tunes::AppScreenshot.factory(data)
|
@@ -572,19 +628,24 @@ module Spaceship
|
|
572
628
|
|
573
629
|
# generates the nested data structure to represent trailers
|
574
630
|
def setup_trailers_for(row)
|
575
|
-
|
576
|
-
return [] unless
|
631
|
+
display_families = row.fetch("displayFamilies", {}).fetch("value", nil)
|
632
|
+
return [] unless display_families
|
577
633
|
|
578
634
|
result = []
|
579
635
|
|
580
|
-
|
581
|
-
|
582
|
-
next if
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
636
|
+
display_families.each do |display_family|
|
637
|
+
trailers = display_family.fetch("trailer", {}).fetch("value")
|
638
|
+
next if trailers.nil?
|
639
|
+
|
640
|
+
trailers.each do |trailer|
|
641
|
+
trailer_data = trailer["value"]
|
642
|
+
next if trailer_data.nil?
|
643
|
+
data = {
|
644
|
+
device_type: display_family['name'],
|
645
|
+
language: row["language"]
|
646
|
+
}.merge(trailer_data)
|
647
|
+
result << Tunes::AppTrailer.factory(data)
|
648
|
+
end
|
588
649
|
end
|
589
650
|
|
590
651
|
return result
|
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.
|
4
|
+
version: 0.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: credentials_manager
|