fastlane 2.74.0.beta.20180106010004 → 2.74.0.beta.20180107010004

Sign up to get free protection for your applications and to get access to all the features.
Files changed (310) hide show
  1. checksums.yaml +4 -4
  2. data/cert/lib/cert.rb +3 -17
  3. data/cert/lib/cert/commands_generator.rb +5 -0
  4. data/cert/lib/cert/module.rb +14 -0
  5. data/cert/lib/cert/options.rb +4 -2
  6. data/cert/lib/cert/runner.rb +7 -0
  7. data/credentials_manager/lib/credentials_manager.rb +3 -9
  8. data/credentials_manager/lib/credentials_manager/account_manager.rb +2 -0
  9. data/credentials_manager/lib/credentials_manager/appfile_config.rb +2 -0
  10. data/credentials_manager/lib/credentials_manager/cli.rb +2 -0
  11. data/deliver/lib/deliver.rb +15 -31
  12. data/deliver/lib/deliver/app_screenshot.rb +2 -0
  13. data/deliver/lib/deliver/commands_generator.rb +6 -1
  14. data/deliver/lib/deliver/detect_values.rb +9 -1
  15. data/deliver/lib/deliver/download_screenshots.rb +2 -0
  16. data/deliver/lib/deliver/generate_summary.rb +4 -0
  17. data/deliver/lib/deliver/html_generator.rb +2 -0
  18. data/deliver/lib/deliver/loader.rb +4 -0
  19. data/deliver/lib/deliver/module.rb +16 -0
  20. data/deliver/lib/deliver/options.rb +5 -2
  21. data/deliver/lib/deliver/runner.rb +14 -1
  22. data/deliver/lib/deliver/setup.rb +6 -2
  23. data/deliver/lib/deliver/submit_for_review.rb +2 -0
  24. data/deliver/lib/deliver/upload_assets.rb +2 -0
  25. data/deliver/lib/deliver/upload_metadata.rb +4 -0
  26. data/deliver/lib/deliver/upload_price_tier.rb +2 -0
  27. data/deliver/lib/deliver/upload_screenshots.rb +6 -0
  28. data/fastlane/lib/fastlane/actions/slack.rb +16 -11
  29. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +3 -0
  30. data/fastlane/lib/fastlane/version.rb +1 -1
  31. data/fastlane_core/lib/fastlane_core.rb +42 -77
  32. data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +2 -0
  33. data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +2 -1
  34. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +4 -0
  35. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +3 -1
  36. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +3 -3
  37. data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +5 -0
  38. data/fastlane_core/lib/fastlane_core/build_watcher.rb +4 -0
  39. data/fastlane_core/lib/fastlane_core/cert_checker.rb +2 -0
  40. data/fastlane_core/lib/fastlane_core/command_executor.rb +4 -0
  41. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +4 -2
  42. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +6 -1
  43. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
  44. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +3 -0
  45. data/fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb +2 -0
  46. data/fastlane_core/lib/fastlane_core/crash_reporter/crash_reporter.rb +7 -1
  47. data/fastlane_core/lib/fastlane_core/device_manager.rb +6 -0
  48. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +2 -0
  49. data/fastlane_core/lib/fastlane_core/feature/feature.rb +2 -0
  50. data/fastlane_core/lib/fastlane_core/features.rb +2 -0
  51. data/fastlane_core/lib/fastlane_core/helper.rb +5 -1
  52. data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +5 -0
  53. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +3 -1
  54. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +4 -0
  55. data/fastlane_core/lib/fastlane_core/itunes_search_api.rb +2 -0
  56. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -0
  57. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +2 -0
  58. data/fastlane_core/lib/fastlane_core/module.rb +31 -0
  59. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +2 -0
  60. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +4 -0
  61. data/fastlane_core/lib/fastlane_core/print_table.rb +3 -0
  62. data/fastlane_core/lib/fastlane_core/project.rb +3 -0
  63. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +2 -0
  64. data/fastlane_core/lib/fastlane_core/swag.rb +3 -0
  65. data/fastlane_core/lib/fastlane_core/test_parser.rb +7 -0
  66. data/fastlane_core/lib/fastlane_core/tool_collector.rb +2 -0
  67. data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
  68. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +2 -0
  69. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +2 -0
  70. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +2 -0
  71. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +2 -0
  72. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +10 -1
  73. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +4 -1
  74. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +6 -0
  75. data/fastlane_core/lib/fastlane_core/ui/interface.rb +3 -0
  76. data/fastlane_core/lib/fastlane_core/ui/ui.rb +5 -5
  77. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +2 -2
  78. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +5 -3
  79. data/frameit/lib/frameit.rb +0 -40
  80. data/frameit/lib/frameit/commands_generator.rb +7 -0
  81. data/frameit/lib/frameit/config_parser.rb +2 -0
  82. data/frameit/lib/frameit/dependency_checker.rb +2 -0
  83. data/frameit/lib/frameit/editor.rb +9 -0
  84. data/frameit/lib/frameit/frame_downloader.rb +5 -0
  85. data/frameit/lib/frameit/mac_editor.rb +3 -0
  86. data/frameit/lib/frameit/module.rb +40 -0
  87. data/frameit/lib/frameit/offsets.rb +3 -0
  88. data/frameit/lib/frameit/options.rb +4 -0
  89. data/frameit/lib/frameit/runner.rb +5 -1
  90. data/frameit/lib/frameit/screenshot.rb +9 -0
  91. data/frameit/lib/frameit/strings_parser.rb +2 -0
  92. data/frameit/lib/frameit/template_finder.rb +6 -0
  93. data/frameit/lib/frameit/trim_box.rb +2 -0
  94. data/gym/lib/gym.rb +9 -46
  95. data/gym/lib/gym/code_signing_mapping.rb +2 -0
  96. data/gym/lib/gym/commands_generator.rb +6 -3
  97. data/gym/lib/gym/detect_values.rb +4 -1
  98. data/gym/lib/gym/error_handler.rb +3 -0
  99. data/gym/lib/gym/generators/build_command_generator.rb +1 -0
  100. data/gym/lib/gym/generators/package_command_generator.rb +1 -1
  101. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +5 -0
  102. data/gym/lib/gym/manager.rb +4 -0
  103. data/gym/lib/gym/module.rb +36 -0
  104. data/gym/lib/gym/options.rb +3 -2
  105. data/gym/lib/gym/runner.rb +8 -0
  106. data/gym/lib/gym/xcode.rb +2 -0
  107. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +3 -0
  108. data/match/lib/match.rb +12 -37
  109. data/match/lib/match/change_password.rb +4 -0
  110. data/match/lib/match/commands_generator.rb +9 -3
  111. data/match/lib/match/encrypt.rb +4 -0
  112. data/match/lib/match/generator.rb +7 -2
  113. data/match/lib/match/git_helper.rb +5 -0
  114. data/match/lib/match/module.rb +23 -0
  115. data/match/lib/match/nuke.rb +8 -0
  116. data/match/lib/match/options.rb +3 -2
  117. data/match/lib/match/runner.rb +11 -0
  118. data/match/lib/match/setup.rb +2 -0
  119. data/match/lib/match/spaceship_ensure.rb +5 -2
  120. data/match/lib/match/table_printer.rb +6 -0
  121. data/match/lib/match/utils.rb +3 -0
  122. data/pem/lib/pem.rb +3 -20
  123. data/pem/lib/pem/commands_generator.rb +4 -0
  124. data/pem/lib/pem/manager.rb +3 -0
  125. data/pem/lib/pem/module.rb +18 -0
  126. data/pem/lib/pem/options.rb +4 -2
  127. data/pilot/lib/pilot.rb +1 -14
  128. data/pilot/lib/pilot/build_manager.rb +6 -0
  129. data/pilot/lib/pilot/commands_generator.rb +8 -2
  130. data/pilot/lib/pilot/manager.rb +10 -3
  131. data/pilot/lib/pilot/module.rb +9 -0
  132. data/pilot/lib/pilot/options.rb +4 -2
  133. data/pilot/lib/pilot/tester_exporter.rb +6 -3
  134. data/pilot/lib/pilot/tester_importer.rb +3 -1
  135. data/pilot/lib/pilot/tester_manager.rb +6 -5
  136. data/precheck/lib/precheck.rb +2 -22
  137. data/precheck/lib/precheck/commands_generator.rb +8 -1
  138. data/precheck/lib/precheck/module.rb +21 -0
  139. data/precheck/lib/precheck/options.rb +4 -3
  140. data/precheck/lib/precheck/rule.rb +7 -4
  141. data/precheck/lib/precheck/rule_processor.rb +5 -2
  142. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +1 -1
  143. data/precheck/lib/precheck/rules/all.rb +1 -0
  144. data/precheck/lib/precheck/rules/copyright_date_rule.rb +1 -2
  145. data/precheck/lib/precheck/rules/curse_words_rule.rb +2 -1
  146. data/precheck/lib/precheck/rules/custom_text_rule.rb +1 -2
  147. data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +1 -2
  148. data/precheck/lib/precheck/rules/future_functionality_rule.rb +1 -2
  149. data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +1 -2
  150. data/precheck/lib/precheck/rules/other_platforms_rule.rb +1 -2
  151. data/precheck/lib/precheck/rules/placeholder_words_rule.rb +1 -2
  152. data/precheck/lib/precheck/rules/test_words_rule.rb +1 -2
  153. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +3 -1
  154. data/precheck/lib/precheck/runner.rb +6 -4
  155. data/produce/lib/produce.rb +6 -21
  156. data/produce/lib/produce/commands_generator.rb +5 -0
  157. data/produce/lib/produce/developer_center.rb +1 -0
  158. data/produce/lib/produce/group.rb +1 -0
  159. data/produce/lib/produce/itunes_connect.rb +5 -3
  160. data/produce/lib/produce/manager.rb +4 -0
  161. data/produce/lib/produce/merchant.rb +1 -0
  162. data/produce/lib/produce/module.rb +14 -0
  163. data/produce/lib/produce/options.rb +4 -2
  164. data/produce/lib/produce/service.rb +3 -0
  165. data/scan/lib/scan.rb +10 -40
  166. data/scan/lib/scan/commands_generator.rb +6 -2
  167. data/scan/lib/scan/detect_values.rb +4 -0
  168. data/scan/lib/scan/error_handler.rb +2 -0
  169. data/scan/lib/scan/manager.rb +4 -0
  170. data/scan/lib/scan/module.rb +32 -0
  171. data/scan/lib/scan/options.rb +3 -2
  172. data/scan/lib/scan/runner.rb +9 -0
  173. data/scan/lib/scan/slack_poster.rb +2 -0
  174. data/scan/lib/scan/test_command_generator.rb +2 -0
  175. data/scan/lib/scan/test_result_parser.rb +2 -0
  176. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +2 -0
  177. data/screengrab/lib/screengrab.rb +7 -33
  178. data/screengrab/lib/screengrab/android_environment.rb +2 -0
  179. data/screengrab/lib/screengrab/commands_generator.rb +8 -0
  180. data/screengrab/lib/screengrab/dependency_checker.rb +2 -0
  181. data/screengrab/lib/screengrab/module.rb +24 -0
  182. data/screengrab/lib/screengrab/options.rb +3 -2
  183. data/screengrab/lib/screengrab/reports_generator.rb +3 -1
  184. data/screengrab/lib/screengrab/runner.rb +4 -0
  185. data/screengrab/lib/screengrab/setup.rb +2 -0
  186. data/sigh/lib/sigh.rb +4 -19
  187. data/sigh/lib/sigh/commands_generator.rb +5 -0
  188. data/sigh/lib/sigh/download_all.rb +5 -0
  189. data/sigh/lib/sigh/local_manage.rb +5 -0
  190. data/sigh/lib/sigh/manager.rb +3 -2
  191. data/sigh/lib/sigh/module.rb +16 -0
  192. data/sigh/lib/sigh/options.rb +3 -2
  193. data/sigh/lib/sigh/repair.rb +4 -0
  194. data/sigh/lib/sigh/resign.rb +3 -0
  195. data/sigh/lib/sigh/runner.rb +4 -0
  196. data/snapshot/lib/snapshot.rb +19 -61
  197. data/snapshot/lib/snapshot/collector.rb +5 -0
  198. data/snapshot/lib/snapshot/commands_generator.rb +4 -1
  199. data/snapshot/lib/snapshot/dependency_checker.rb +27 -23
  200. data/snapshot/lib/snapshot/detect_values.rb +7 -0
  201. data/snapshot/lib/snapshot/error_handler.rb +2 -0
  202. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +2 -0
  203. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +2 -0
  204. data/snapshot/lib/snapshot/latest_os_version.rb +5 -2
  205. data/snapshot/lib/snapshot/module.rb +44 -0
  206. data/snapshot/lib/snapshot/options.rb +11 -2
  207. data/snapshot/lib/snapshot/reports_generator.rb +4 -2
  208. data/snapshot/lib/snapshot/reset_simulators.rb +3 -0
  209. data/snapshot/lib/snapshot/runner.rb +10 -0
  210. data/snapshot/lib/snapshot/screenshot_flatten.rb +2 -0
  211. data/snapshot/lib/snapshot/screenshot_rotate.rb +4 -1
  212. data/snapshot/lib/snapshot/setup.rb +2 -0
  213. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +0 -1
  214. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +27 -27
  215. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +8 -0
  216. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +4 -1
  217. data/snapshot/lib/snapshot/test_command_generator.rb +2 -1
  218. data/snapshot/lib/snapshot/test_command_generator_base.rb +10 -4
  219. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +3 -1
  220. data/snapshot/lib/snapshot/update.rb +3 -0
  221. data/spaceship/lib/spaceship.rb +14 -36
  222. data/spaceship/lib/spaceship/client.rb +26 -76
  223. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  224. data/spaceship/lib/spaceship/du/du_client.rb +3 -0
  225. data/spaceship/lib/spaceship/du/upload_file.rb +2 -0
  226. data/spaceship/lib/spaceship/errors.rb +67 -0
  227. data/spaceship/lib/spaceship/globals.rb +1 -1
  228. data/spaceship/lib/spaceship/helper/plist_middleware.rb +1 -1
  229. data/spaceship/lib/spaceship/helper/rels_middleware.rb +2 -0
  230. data/spaceship/lib/spaceship/launcher.rb +7 -5
  231. data/spaceship/lib/spaceship/module.rb +4 -0
  232. data/spaceship/lib/spaceship/playground.rb +3 -0
  233. data/spaceship/lib/spaceship/portal/app.rb +3 -0
  234. data/spaceship/lib/spaceship/portal/app_group.rb +2 -0
  235. data/spaceship/lib/spaceship/portal/app_service.rb +38 -290
  236. data/spaceship/lib/spaceship/portal/certificate.rb +3 -1
  237. data/spaceship/lib/spaceship/portal/device.rb +5 -3
  238. data/spaceship/lib/spaceship/portal/invite.rb +2 -0
  239. data/spaceship/lib/spaceship/portal/key.rb +2 -0
  240. data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
  241. data/spaceship/lib/spaceship/portal/merchant.rb +2 -0
  242. data/spaceship/lib/spaceship/portal/passbook.rb +2 -0
  243. data/spaceship/lib/spaceship/portal/person.rb +2 -0
  244. data/spaceship/lib/spaceship/portal/persons.rb +3 -0
  245. data/spaceship/lib/spaceship/portal/portal_base.rb +3 -0
  246. data/spaceship/lib/spaceship/portal/portal_client.rb +37 -23
  247. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +27 -20
  248. data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +2 -0
  249. data/spaceship/lib/spaceship/portal/spaceship.rb +13 -10
  250. data/spaceship/lib/spaceship/portal/ui/select_team.rb +2 -0
  251. data/spaceship/lib/spaceship/portal/website_push.rb +2 -0
  252. data/spaceship/lib/spaceship/spaceauth_runner.rb +4 -2
  253. data/spaceship/lib/spaceship/test_flight.rb +0 -1
  254. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +4 -0
  255. data/spaceship/lib/spaceship/test_flight/base.rb +22 -17
  256. data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +2 -0
  257. data/spaceship/lib/spaceship/test_flight/build.rb +211 -203
  258. data/spaceship/lib/spaceship/test_flight/build_trains.rb +4 -1
  259. data/spaceship/lib/spaceship/test_flight/client.rb +255 -251
  260. data/spaceship/lib/spaceship/test_flight/export_compliance.rb +2 -0
  261. data/spaceship/lib/spaceship/test_flight/group.rb +2 -0
  262. data/spaceship/lib/spaceship/test_flight/test_info.rb +2 -0
  263. data/spaceship/lib/spaceship/test_flight/tester.rb +114 -110
  264. data/spaceship/lib/spaceship/tunes/app_details.rb +5 -1
  265. data/spaceship/lib/spaceship/tunes/app_image.rb +2 -0
  266. data/spaceship/lib/spaceship/tunes/app_ratings.rb +2 -68
  267. data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
  268. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +2 -0
  269. data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -0
  270. data/spaceship/lib/spaceship/tunes/app_trailer.rb +2 -0
  271. data/spaceship/lib/spaceship/tunes/app_version.rb +11 -0
  272. data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +2 -0
  273. data/spaceship/lib/spaceship/tunes/app_version_history.rb +2 -0
  274. data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +2 -0
  275. data/spaceship/lib/spaceship/tunes/app_version_ref.rb +2 -0
  276. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +2 -0
  277. data/spaceship/lib/spaceship/tunes/application.rb +18 -6
  278. data/spaceship/lib/spaceship/tunes/availability.rb +2 -0
  279. data/spaceship/lib/spaceship/tunes/build.rb +2 -0
  280. data/spaceship/lib/spaceship/tunes/build_details.rb +2 -0
  281. data/spaceship/lib/spaceship/tunes/build_train.rb +5 -1
  282. data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
  283. data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
  284. data/spaceship/lib/spaceship/tunes/iap_detail.rb +5 -0
  285. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -0
  286. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +1 -0
  287. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +1 -0
  288. data/spaceship/lib/spaceship/tunes/iap_list.rb +3 -0
  289. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
  290. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +2 -41
  291. data/spaceship/lib/spaceship/tunes/language_converter.rb +2 -0
  292. data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
  293. data/spaceship/lib/spaceship/tunes/member.rb +3 -0
  294. data/spaceship/lib/spaceship/tunes/members.rb +2 -0
  295. data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
  296. data/spaceship/lib/spaceship/tunes/pricing_tier.rb +2 -37
  297. data/spaceship/lib/spaceship/tunes/recovery_device.rb +2 -0
  298. data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +2 -0
  299. data/spaceship/lib/spaceship/tunes/spaceship.rb +2 -0
  300. data/spaceship/lib/spaceship/tunes/territory.rb +2 -0
  301. data/spaceship/lib/spaceship/tunes/transit_app_file.rb +2 -0
  302. data/spaceship/lib/spaceship/tunes/tunes.rb +34 -39
  303. data/spaceship/lib/spaceship/tunes/tunes_base.rb +2 -0
  304. data/spaceship/lib/spaceship/tunes/tunes_client.rb +20 -14
  305. data/spaceship/lib/spaceship/tunes/user_detail.rb +2 -0
  306. data/spaceship/lib/spaceship/tunes/version_set.rb +2 -0
  307. data/spaceship/lib/spaceship/two_step_client.rb +5 -1
  308. data/spaceship/lib/spaceship/ui.rb +7 -7
  309. data/supply/lib/supply/options.rb +2 -2
  310. metadata +31 -6
@@ -1,3 +1,5 @@
1
+ require_relative 'base'
2
+
1
3
  module Spaceship::TestFlight
2
4
  class ExportCompliance < Base
3
5
  attr_accessor :uses_encryption, :encryption_updated
@@ -1,3 +1,5 @@
1
+ require_relative 'base'
2
+
1
3
  module Spaceship::TestFlight
2
4
  class Group < Base
3
5
  attr_accessor :id
@@ -1,3 +1,5 @@
1
+ require_relative 'base'
2
+
1
3
  module Spaceship::TestFlight
2
4
  class TestInfo < Base
3
5
  # TestInfo Contains a collection of info for testers. There is one "testInfo" for each locale.
@@ -1,124 +1,128 @@
1
- module Spaceship::TestFlight
2
- class Tester < Base
3
- # @return (String) The identifier of this tester, provided by iTunes Connect
4
- # @example
5
- # "60f858b4-60a8-428a-963a-f943a3d68d17"
6
- attr_accessor :tester_id
7
-
8
- # @return (String) The email of this tester
9
- # @example
10
- # "tester@spaceship.com"
11
- attr_accessor :email
12
-
13
- # @return (String) The first name of this tester
14
- # @example
15
- # "Cary"
16
- attr_accessor :first_name
17
-
18
- # @return (String) The last name of this tester
19
- # @example
20
- # "Bennett"
21
- attr_accessor :last_name
22
-
23
- # @return (String)
24
- # @example
25
- # "invited"
26
- # "installed"
27
- #
28
- attr_accessor :status
29
-
30
- # @return (Integer) Date of the last modification of the status (e.g. invite sent)
31
- attr_accessor :status_mod_time
32
-
33
- # @return (Hash)
34
- # @example
35
- # {
36
- # "latestInstalledAppAdamId": "1222374686",
37
- # "latestInstalledBuildId": "20739770",
38
- # "latestInstalledDate": "1496866405755",
39
- # "latestInstalledShortVersion": "1.0",
40
- # "latestInstalledVersion": "68"
41
- # }
42
- attr_accessor :latest_install_info
43
-
44
- attr_accessor :latest_installed_date
45
-
46
- # @return (Integer) Number of sessions
47
- attr_accessor :session_count
48
-
49
- attr_accessor :groups
50
-
51
- attr_mapping(
52
- 'id' => :tester_id,
53
- 'email' => :email,
54
- 'status' => :status,
55
- 'statusModTime' => :status_mod_time,
56
- 'latestInstallInfo' => :latest_install_info,
57
- 'sessionCount' => :session_count,
58
- 'firstName' => :first_name,
59
- 'lastName' => :last_name,
60
- 'groups' => :groups
61
- )
62
-
63
- def latest_installed_date
64
- return nil unless latest_install_info
65
- latest_installed_date_value = latest_install_info["latestInstalledDate"]
66
- return nil unless latest_installed_date_value
67
-
68
- return latest_installed_date_value.to_i
69
- end
1
+ require_relative 'base'
2
+
3
+ module Spaceship
4
+ module TestFlight
5
+ class Tester < Base
6
+ # @return (String) The identifier of this tester, provided by iTunes Connect
7
+ # @example
8
+ # "60f858b4-60a8-428a-963a-f943a3d68d17"
9
+ attr_accessor :tester_id
10
+
11
+ # @return (String) The email of this tester
12
+ # @example
13
+ # "tester@spaceship.com"
14
+ attr_accessor :email
15
+
16
+ # @return (String) The first name of this tester
17
+ # @example
18
+ # "Cary"
19
+ attr_accessor :first_name
20
+
21
+ # @return (String) The last name of this tester
22
+ # @example
23
+ # "Bennett"
24
+ attr_accessor :last_name
25
+
26
+ # @return (String)
27
+ # @example
28
+ # "invited"
29
+ # "installed"
30
+ #
31
+ attr_accessor :status
32
+
33
+ # @return (Integer) Date of the last modification of the status (e.g. invite sent)
34
+ attr_accessor :status_mod_time
35
+
36
+ # @return (Hash)
37
+ # @example
38
+ # {
39
+ # "latestInstalledAppAdamId": "1222374686",
40
+ # "latestInstalledBuildId": "20739770",
41
+ # "latestInstalledDate": "1496866405755",
42
+ # "latestInstalledShortVersion": "1.0",
43
+ # "latestInstalledVersion": "68"
44
+ # }
45
+ attr_accessor :latest_install_info
46
+
47
+ attr_accessor :latest_installed_date
48
+
49
+ # @return (Integer) Number of sessions
50
+ attr_accessor :session_count
51
+
52
+ attr_accessor :groups
53
+
54
+ attr_mapping(
55
+ 'id' => :tester_id,
56
+ 'email' => :email,
57
+ 'status' => :status,
58
+ 'statusModTime' => :status_mod_time,
59
+ 'latestInstallInfo' => :latest_install_info,
60
+ 'sessionCount' => :session_count,
61
+ 'firstName' => :first_name,
62
+ 'lastName' => :last_name,
63
+ 'groups' => :groups
64
+ )
65
+
66
+ def latest_installed_date
67
+ return nil unless latest_install_info
68
+ latest_installed_date_value = latest_install_info["latestInstalledDate"]
69
+ return nil unless latest_installed_date_value
70
+
71
+ return latest_installed_date_value.to_i
72
+ end
70
73
 
71
- def pretty_install_date
72
- return nil unless latest_installed_date
74
+ def pretty_install_date
75
+ return nil unless latest_installed_date
73
76
 
74
- Time.at((latest_installed_date / 1000)).strftime("%m/%d/%y %H:%M")
75
- end
77
+ Time.at((latest_installed_date / 1000)).strftime("%m/%d/%y %H:%M")
78
+ end
76
79
 
77
- # @return (Array) Returns all beta testers available for this account
78
- def self.all(app_id: nil)
79
- client.testers_for_app(app_id: app_id).map { |data| self.new(data) }
80
- end
80
+ # @return (Array) Returns all beta testers available for this account
81
+ def self.all(app_id: nil)
82
+ client.testers_for_app(app_id: app_id).map { |data| self.new(data) }
83
+ end
81
84
 
82
- # *DEPRECATED: Use `Spaceship::TestFlight::Tester.search` method instead*
83
- def self.find(app_id: nil, email: nil)
84
- testers = self.search(app_id: app_id, text: email, is_email_exact_match: true)
85
- return testers.first
86
- end
85
+ # *DEPRECATED: Use `Spaceship::TestFlight::Tester.search` method instead*
86
+ def self.find(app_id: nil, email: nil)
87
+ testers = self.search(app_id: app_id, text: email, is_email_exact_match: true)
88
+ return testers.first
89
+ end
87
90
 
88
- def status_mod_time
89
- Time.parse(super) if super.to_s.length > 0
90
- end
91
+ def status_mod_time
92
+ Time.parse(super) if super.to_s.length > 0
93
+ end
91
94
 
92
- # @return (Spaceship::TestFlight::Tester) Returns the testers matching the parameter.
93
- # ITC searchs all fields, and is full text. The search results are the union of all words in the search text
94
- # @param text (String) (required): Value used to filter the tester, case insensitive
95
- def self.search(app_id: nil, text: nil, is_email_exact_match: false)
96
- text = text.strip
97
- testers_matching_text = client.search_for_tester_in_app(app_id: app_id, text: text).map { |data| self.new(data) }
98
- testers_matching_text ||= []
99
- if is_email_exact_match
100
- text = text.downcase
101
- testers_matching_text = testers_matching_text.select do |tester|
102
- tester.email.downcase == text
95
+ # @return (Spaceship::TestFlight::Tester) Returns the testers matching the parameter.
96
+ # ITC searchs all fields, and is full text. The search results are the union of all words in the search text
97
+ # @param text (String) (required): Value used to filter the tester, case insensitive
98
+ def self.search(app_id: nil, text: nil, is_email_exact_match: false)
99
+ text = text.strip
100
+ testers_matching_text = client.search_for_tester_in_app(app_id: app_id, text: text).map { |data| self.new(data) }
101
+ testers_matching_text ||= []
102
+ if is_email_exact_match
103
+ text = text.downcase
104
+ testers_matching_text = testers_matching_text.select do |tester|
105
+ tester.email.downcase == text
106
+ end
103
107
  end
104
- end
105
108
 
106
- return testers_matching_text
107
- end
109
+ return testers_matching_text
110
+ end
108
111
 
109
- def self.create_app_level_tester(app_id: nil, first_name: nil, last_name: nil, email: nil)
110
- client.create_app_level_tester(app_id: app_id,
111
- first_name: first_name,
112
- last_name: last_name,
113
- email: email)
114
- end
112
+ def self.create_app_level_tester(app_id: nil, first_name: nil, last_name: nil, email: nil)
113
+ client.create_app_level_tester(app_id: app_id,
114
+ first_name: first_name,
115
+ last_name: last_name,
116
+ email: email)
117
+ end
115
118
 
116
- def remove_from_app!(app_id: nil)
117
- client.delete_tester_from_app(app_id: app_id, tester_id: self.tester_id)
118
- end
119
+ def remove_from_app!(app_id: nil)
120
+ client.delete_tester_from_app(app_id: app_id, tester_id: self.tester_id)
121
+ end
119
122
 
120
- def resend_invite(app_id: nil)
121
- client.resend_invite_to_external_tester(app_id: app_id, tester_id: self.tester_id)
123
+ def resend_invite(app_id: nil)
124
+ client.resend_invite_to_external_tester(app_id: app_id, tester_id: self.tester_id)
125
+ end
122
126
  end
123
127
  end
124
128
  end
@@ -1,3 +1,7 @@
1
+ require_relative 'errors'
2
+ require_relative 'language_item'
3
+ require_relative 'tunes_base'
4
+
1
5
  module Spaceship
2
6
  module Tunes
3
7
  class AppDetails < TunesBase
@@ -77,7 +81,7 @@ module Spaceship
77
81
  # Push all changes that were made back to iTunes Connect
78
82
  def save!
79
83
  client.update_app_details!(application.apple_id, raw_data)
80
- rescue Spaceship::TunesClient::ITunesConnectError => ex
84
+ rescue Spaceship::Tunes::Error => ex
81
85
  if ex.to_s == "operation_failed"
82
86
  # That's alright, we get this error message if nothing has changed
83
87
  else
@@ -1,3 +1,5 @@
1
+ require_relative 'tunes_base'
2
+
1
3
  module Spaceship
2
4
  module Tunes
3
5
  # Represents an image hosted on iTunes Connect. Used for icons, screenshots, etc
@@ -1,3 +1,5 @@
1
+ require_relative 'app_review'
2
+
1
3
  module Spaceship
2
4
  module Tunes
3
5
  # Represents app ratings from iTunesConnect
@@ -52,73 +54,5 @@ module Spaceship
52
54
  end
53
55
  end
54
56
  end
55
-
56
- class DeveloperResponse < TunesBase
57
- attr_reader :id
58
- attr_reader :response
59
- attr_reader :last_modified
60
- attr_reader :hidden
61
- attr_reader :state
62
- attr_accessor :application
63
- attr_accessor :review_id
64
-
65
- attr_mapping({
66
- 'responseId' => :id,
67
- 'response' => :response,
68
- 'lastModified' => :last_modified,
69
- 'isHidden' => :hidden,
70
- 'pendingState' => :state
71
- })
72
- end
73
-
74
- class AppReview < TunesBase
75
- attr_accessor :application
76
- attr_reader :rating
77
- attr_reader :id
78
- attr_reader :title
79
- attr_reader :review
80
- attr_reader :nickname
81
- attr_reader :store_front
82
- attr_reader :app_version
83
- attr_reader :last_modified
84
- attr_reader :helpful_views
85
- attr_reader :total_views
86
- attr_reader :edited
87
- attr_reader :raw_developer_response
88
- attr_accessor :developer_response
89
-
90
- attr_mapping({
91
- 'id' => :id,
92
- 'rating' => :rating,
93
- 'title' => :title,
94
- 'review' => :review,
95
- 'nickname' => :nickname,
96
- 'storeFront' => :store_front,
97
- 'appVersionString' => :app_version,
98
- 'lastModified' => :last_modified,
99
- 'helpfulViews' => :helpful_views,
100
- 'totalViews' => :total_views,
101
- 'edited' => :edited,
102
- 'developerResponse' => :raw_developer_response
103
- })
104
- class << self
105
- # Create a new object based on a hash.
106
- # This is used to create a new object based on the server response.
107
- def factory(attrs)
108
- obj = self.new(attrs)
109
- response_attrs = {}
110
- response_attrs = obj.raw_developer_response if obj.raw_developer_response
111
- response_attrs[:application] = obj.application
112
- response_attrs[:review_id] = obj.id
113
- obj.developer_response = DeveloperResponse.factory(response_attrs)
114
- return obj
115
- end
116
- end
117
-
118
- def responded?
119
- return true if raw_developer_response
120
- false
121
- end
122
- end
123
57
  end
124
58
  end
@@ -0,0 +1,55 @@
1
+ require_relative 'developer_response'
2
+
3
+ module Spaceship
4
+ module Tunes
5
+ class AppReview < TunesBase
6
+ attr_accessor :application
7
+ attr_reader :rating
8
+ attr_reader :id
9
+ attr_reader :title
10
+ attr_reader :review
11
+ attr_reader :nickname
12
+ attr_reader :store_front
13
+ attr_reader :app_version
14
+ attr_reader :last_modified
15
+ attr_reader :helpful_views
16
+ attr_reader :total_views
17
+ attr_reader :edited
18
+ attr_reader :raw_developer_response
19
+ attr_accessor :developer_response
20
+
21
+ attr_mapping({
22
+ 'id' => :id,
23
+ 'rating' => :rating,
24
+ 'title' => :title,
25
+ 'review' => :review,
26
+ 'nickname' => :nickname,
27
+ 'storeFront' => :store_front,
28
+ 'appVersionString' => :app_version,
29
+ 'lastModified' => :last_modified,
30
+ 'helpfulViews' => :helpful_views,
31
+ 'totalViews' => :total_views,
32
+ 'edited' => :edited,
33
+ 'developerResponse' => :raw_developer_response
34
+ })
35
+ class << self
36
+ # Create a new object based on a hash.
37
+ # This is used to create a new object based on the server response.
38
+ def factory(attrs)
39
+ obj = self.new(attrs)
40
+ response_attrs = {}
41
+ response_attrs = obj.raw_developer_response if obj.raw_developer_response
42
+ response_attrs[:application] = obj.application
43
+ response_attrs[:review_id] = obj.id
44
+ obj.developer_response = DeveloperResponse.factory(response_attrs)
45
+ return obj
46
+ end
47
+ end
48
+
49
+ def responded?
50
+ return true if raw_developer_response
51
+ false
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,3 +1,5 @@
1
+ require_relative 'app_image'
2
+
1
3
  module Spaceship
2
4
  module Tunes
3
5
  # Represents a screenshot hosted on iTunes Connect
@@ -1,3 +1,4 @@
1
+ require_relative 'tunes_base'
1
2
 
2
3
  module Spaceship
3
4
  module Tunes
@@ -1,3 +1,5 @@
1
+ require_relative 'tunes_base'
2
+
1
3
  module Spaceship
2
4
  module Tunes
3
5
  # Represents a preview video hosted on iTunes Connect. Used for icons, screenshots, etc
@@ -1,3 +1,14 @@
1
+ require_relative 'tunes_client'
2
+ require_relative 'app_trailer'
3
+ require_relative 'app_screenshot'
4
+ require_relative 'app_image'
5
+ require_relative 'device_type'
6
+ require_relative 'app_version_generated_promocodes'
7
+ require_relative 'language_item'
8
+ require_relative 'transit_app_file'
9
+ require_relative 'build'
10
+ require_relative 'app_status'
11
+
1
12
  module Spaceship
2
13
  module Tunes
3
14
  # Represents an editable version of an iTunes Connect Application