spaceship 0.29.1 → 0.30.0
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/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
|