app_store_dev_api 0.1.9 → 0.3.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.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.claude/settings.local.json +40 -0
  4. data/CHANGELOG.md +59 -2
  5. data/CLAUDE.md +256 -0
  6. data/Gemfile.lock +29 -20
  7. data/README.md +212 -20
  8. data/Rakefile +99 -1
  9. data/SCRIPTS_ANALYSIS.md +261 -0
  10. data/docs/openapi.oas4.2.json +231546 -0
  11. data/install_local.bat +166 -0
  12. data/install_local.sh +84 -0
  13. data/install_local_fixed.sh +84 -0
  14. data/lib/.DS_Store +0 -0
  15. data/lib/app_store_dev_api/client/authorization.rb +7 -2
  16. data/lib/app_store_dev_api/client/builder.rb +43 -38
  17. data/lib/app_store_dev_api/client/options.rb +1 -1
  18. data/lib/app_store_dev_api/client.rb +31 -60
  19. data/lib/app_store_dev_api/object/attributes.rb +1 -1
  20. data/lib/app_store_dev_api/object/data.rb +6 -2
  21. data/lib/app_store_dev_api/object/relationships.rb +47 -0
  22. data/lib/app_store_dev_api/requests/v1/accessibility_declaration/create.rb +28 -0
  23. data/lib/app_store_dev_api/requests/v1/accessibility_declaration/update.rb +26 -0
  24. data/lib/app_store_dev_api/requests/v1/age_rating_declaration/update.rb +43 -0
  25. data/lib/app_store_dev_api/requests/v1/alternative_distribution_domain/create.rb +22 -0
  26. data/lib/app_store_dev_api/requests/v1/alternative_distribution_key/create.rb +25 -0
  27. data/lib/app_store_dev_api/requests/v1/alternative_distribution_package/create.rb +22 -0
  28. data/lib/app_store_dev_api/requests/v1/analytics_report_request/create.rb +25 -0
  29. data/lib/app_store_dev_api/requests/v1/android_to_ios_app_mapping_detail/create.rb +26 -0
  30. data/lib/app_store_dev_api/requests/v1/android_to_ios_app_mapping_detail/update.rb +22 -0
  31. data/lib/app_store_dev_api/requests/v1/app/update.rb +18 -20
  32. data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience/create.rb +32 -0
  33. data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience/update.rb +32 -0
  34. data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience_image/create.rb +22 -0
  35. data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience_image/update.rb +22 -0
  36. data/lib/app_store_dev_api/requests/v1/app_clip_app_store_review_detail/create.rb +19 -0
  37. data/lib/app_store_dev_api/requests/v1/{builds → app_clip_app_store_review_detail}/update.rb +4 -5
  38. data/lib/app_store_dev_api/requests/v1/app_clip_default_experience/create.rb +27 -0
  39. data/lib/app_store_dev_api/requests/v1/app_clip_default_experience/update.rb +25 -0
  40. data/lib/app_store_dev_api/requests/v1/app_clip_default_experience_localization/create.rb +26 -0
  41. data/lib/app_store_dev_api/requests/v1/app_clip_default_experience_localization/update.rb +21 -0
  42. data/lib/app_store_dev_api/requests/v1/app_clip_header_image/create.rb +26 -0
  43. data/lib/app_store_dev_api/requests/v1/app_clip_header_image/update.rb +22 -0
  44. data/lib/app_store_dev_api/requests/v1/app_custom_product_page/create.rb +28 -0
  45. data/lib/app_store_dev_api/requests/v1/app_custom_product_page/update.rb +22 -0
  46. data/lib/app_store_dev_api/requests/v1/app_custom_product_page_localization/create.rb +26 -0
  47. data/lib/app_store_dev_api/requests/v1/app_custom_product_page_localization/update.rb +21 -0
  48. data/lib/app_store_dev_api/requests/v1/app_custom_product_page_version/create.rb +26 -0
  49. data/lib/app_store_dev_api/requests/v1/app_custom_product_page_version/update.rb +21 -0
  50. data/lib/app_store_dev_api/requests/v1/app_encryption_declaration/create.rb +22 -0
  51. data/lib/app_store_dev_api/requests/v1/app_encryption_declaration_document/create.rb +24 -0
  52. data/lib/app_store_dev_api/requests/v1/app_encryption_declaration_document/update.rb +21 -0
  53. data/lib/app_store_dev_api/requests/v1/app_event/create.rb +26 -0
  54. data/lib/app_store_dev_api/requests/v1/app_event/update.rb +24 -0
  55. data/lib/app_store_dev_api/requests/v1/app_event_localization/create.rb +28 -0
  56. data/lib/app_store_dev_api/requests/v1/app_event_localization/update.rb +23 -0
  57. data/lib/app_store_dev_api/requests/v1/app_event_screenshot/create.rb +27 -0
  58. data/lib/app_store_dev_api/requests/v1/app_event_screenshot/update.rb +21 -0
  59. data/lib/app_store_dev_api/requests/v1/app_event_video_clip/create.rb +22 -0
  60. data/lib/app_store_dev_api/requests/v1/{promoted_purchases_image → app_event_video_clip}/update.rb +4 -4
  61. data/lib/app_store_dev_api/requests/v1/app_info/update.rb +15 -18
  62. data/lib/app_store_dev_api/requests/v1/app_info_localization/create.rb +17 -17
  63. data/lib/app_store_dev_api/requests/v1/app_info_localization/update.rb +14 -18
  64. data/lib/app_store_dev_api/requests/v1/app_preview/create.rb +22 -0
  65. data/lib/app_store_dev_api/requests/v1/app_preview/update.rb +22 -0
  66. data/lib/app_store_dev_api/requests/v1/app_preview_set/create.rb +25 -0
  67. data/lib/app_store_dev_api/requests/v1/app_preview_set/replace_app_previews_linkage.rb +19 -0
  68. data/lib/app_store_dev_api/requests/v1/app_price_schedule/create.rb +24 -0
  69. data/lib/app_store_dev_api/requests/v1/app_screenshot/create.rb +24 -0
  70. data/lib/app_store_dev_api/requests/v1/app_screenshot/update.rb +21 -0
  71. data/lib/app_store_dev_api/requests/v1/app_screenshot_set/create.rb +25 -0
  72. data/lib/app_store_dev_api/requests/v1/app_screenshot_set/replace_app_screenshots_linkage.rb +19 -0
  73. data/lib/app_store_dev_api/requests/v1/app_store_review_attachment/create.rb +20 -0
  74. data/lib/app_store_dev_api/requests/v1/app_store_review_attachment/update.rb +21 -0
  75. data/lib/app_store_dev_api/requests/v1/app_store_review_detail/create.rb +19 -20
  76. data/lib/app_store_dev_api/requests/v1/app_store_review_detail/update.rb +17 -18
  77. data/lib/app_store_dev_api/requests/v1/app_store_version/create.rb +20 -16
  78. data/lib/app_store_dev_api/requests/v1/app_store_version/update.rb +20 -18
  79. data/lib/app_store_dev_api/requests/v1/app_store_version_experiment/create.rb +26 -0
  80. data/lib/app_store_dev_api/requests/v1/app_store_version_experiment/update.rb +23 -0
  81. data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment/create.rb +27 -0
  82. data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment/update.rb +22 -0
  83. data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment_localization/create.rb +25 -0
  84. data/lib/app_store_dev_api/requests/v1/app_store_version_localization/create.rb +18 -18
  85. data/lib/app_store_dev_api/requests/v1/app_store_version_localization/update.rb +15 -18
  86. data/lib/app_store_dev_api/requests/v1/{app_store_version_phased_releases → app_store_version_phased_release}/create.rb +7 -2
  87. data/lib/app_store_dev_api/requests/v1/{app_store_version_phased_releases → app_store_version_phased_release}/update.rb +2 -2
  88. data/lib/app_store_dev_api/requests/v1/app_store_version_promotion/create.rb +10 -13
  89. data/lib/app_store_dev_api/requests/v1/{app_store_version_releases_request → app_store_version_release_request}/create.rb +5 -3
  90. data/lib/app_store_dev_api/requests/v1/app_tag/update.rb +21 -0
  91. data/lib/app_store_dev_api/requests/v1/background_asset/create.rb +19 -0
  92. data/lib/app_store_dev_api/requests/v1/background_asset/update.rb +21 -0
  93. data/lib/app_store_dev_api/requests/v1/background_asset_upload_file/create.rb +27 -0
  94. data/lib/app_store_dev_api/requests/v1/background_asset_upload_file/update.rb +23 -0
  95. data/lib/app_store_dev_api/requests/v1/background_asset_version/create.rb +16 -0
  96. data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation/create.rb +26 -0
  97. data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation/update.rb +21 -0
  98. data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation_localization/create.rb +26 -0
  99. data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation_localization/update.rb +21 -0
  100. data/lib/app_store_dev_api/requests/v1/beta_app_localization/create.rb +30 -0
  101. data/lib/app_store_dev_api/requests/v1/beta_app_localization/update.rb +25 -0
  102. data/lib/app_store_dev_api/requests/v1/beta_app_review_detail/update.rb +28 -0
  103. data/lib/app_store_dev_api/requests/v1/beta_app_review_submission/create.rb +22 -0
  104. data/lib/app_store_dev_api/requests/v1/beta_build_localization/create.rb +18 -18
  105. data/lib/app_store_dev_api/requests/v1/beta_build_localization/update.rb +15 -20
  106. data/lib/app_store_dev_api/requests/v1/beta_group/create.rb +33 -0
  107. data/lib/app_store_dev_api/requests/v1/beta_group/update.rb +27 -0
  108. data/lib/app_store_dev_api/requests/v1/beta_license_agreement/update.rb +21 -0
  109. data/lib/app_store_dev_api/requests/v1/beta_recruitment_criterion/create.rb +25 -0
  110. data/lib/app_store_dev_api/requests/v1/beta_recruitment_criterion/update.rb +21 -0
  111. data/lib/app_store_dev_api/requests/v1/beta_tester/create.rb +28 -0
  112. data/lib/app_store_dev_api/requests/v1/beta_tester_invitation/create.rb +23 -0
  113. data/lib/app_store_dev_api/requests/v1/build_beta_detail/update.rb +10 -13
  114. data/lib/app_store_dev_api/requests/v1/{subscription_price_change_consent_reason → build_beta_notification}/create.rb +8 -2
  115. data/lib/app_store_dev_api/requests/v1/build_upload/create.rb +27 -0
  116. data/lib/app_store_dev_api/requests/v1/build_upload_file/create.rb +28 -0
  117. data/lib/app_store_dev_api/requests/v1/build_upload_file/update.rb +22 -0
  118. data/lib/app_store_dev_api/requests/v1/bundle_id/create.rb +12 -15
  119. data/lib/app_store_dev_api/requests/v1/bundle_id/update.rb +20 -0
  120. data/lib/app_store_dev_api/requests/v1/bundle_id_capability/create.rb +13 -16
  121. data/lib/app_store_dev_api/requests/v1/bundle_id_capability/update.rb +18 -0
  122. data/lib/app_store_dev_api/requests/v1/certificate/create.rb +14 -15
  123. data/lib/app_store_dev_api/requests/v1/certificate/update.rb +17 -0
  124. data/lib/app_store_dev_api/requests/v1/ci_build_run/create.rb +28 -0
  125. data/lib/app_store_dev_api/requests/v1/ci_workflow/create.rb +41 -0
  126. data/lib/app_store_dev_api/requests/v1/ci_workflow/update.rb +39 -0
  127. data/lib/app_store_dev_api/requests/v1/customer_review_response_v1/create.rb +25 -0
  128. data/lib/app_store_dev_api/requests/v1/device/update.rb +18 -0
  129. data/lib/app_store_dev_api/requests/v1/end_app_availability_pre_order/create.rb +16 -0
  130. data/lib/app_store_dev_api/requests/v1/end_user_license_agreement/create.rb +24 -0
  131. data/lib/app_store_dev_api/requests/v1/end_user_license_agreement/update.rb +24 -0
  132. data/lib/app_store_dev_api/requests/v1/game_center_achievement/create.rb +31 -0
  133. data/lib/app_store_dev_api/requests/v1/game_center_achievement/update.rb +26 -0
  134. data/lib/app_store_dev_api/requests/v1/game_center_achievement_image/create.rb +26 -0
  135. data/lib/app_store_dev_api/requests/v1/game_center_achievement_image/update.rb +21 -0
  136. data/lib/app_store_dev_api/requests/v1/game_center_achievement_localization/create.rb +28 -0
  137. data/lib/app_store_dev_api/requests/v1/game_center_achievement_localization/update.rb +23 -0
  138. data/lib/app_store_dev_api/requests/v1/game_center_achievement_release/create.rb +23 -0
  139. data/lib/app_store_dev_api/requests/v1/game_center_activity/create.rb +32 -0
  140. data/lib/app_store_dev_api/requests/v1/game_center_activity/update.rb +27 -0
  141. data/lib/app_store_dev_api/requests/v1/game_center_activity_image/create.rb +27 -0
  142. data/lib/app_store_dev_api/requests/v1/game_center_activity_image/update.rb +21 -0
  143. data/lib/app_store_dev_api/requests/v1/game_center_activity_localization/create.rb +27 -0
  144. data/lib/app_store_dev_api/requests/v1/game_center_activity_localization/update.rb +22 -0
  145. data/lib/app_store_dev_api/requests/v1/game_center_activity_version/create.rb +25 -0
  146. data/lib/app_store_dev_api/requests/v1/game_center_activity_version/update.rb +21 -0
  147. data/lib/app_store_dev_api/requests/v1/game_center_activity_version_release/create.rb +23 -0
  148. data/lib/app_store_dev_api/requests/v1/game_center_app_version/create.rb +22 -0
  149. data/lib/app_store_dev_api/requests/v1/game_center_app_version/update.rb +21 -0
  150. data/lib/app_store_dev_api/requests/v1/game_center_challenge/create.rb +31 -0
  151. data/lib/app_store_dev_api/requests/v1/game_center_challenge/update.rb +28 -0
  152. data/lib/app_store_dev_api/requests/v1/game_center_challenge_image/create.rb +27 -0
  153. data/lib/app_store_dev_api/requests/v1/game_center_challenge_image/update.rb +21 -0
  154. data/lib/app_store_dev_api/requests/v1/game_center_challenge_localization/create.rb +27 -0
  155. data/lib/app_store_dev_api/requests/v1/game_center_challenge_localization/update.rb +22 -0
  156. data/lib/app_store_dev_api/requests/v1/game_center_challenge_version/create.rb +22 -0
  157. data/lib/app_store_dev_api/requests/v1/game_center_challenge_version_release/create.rb +23 -0
  158. data/lib/app_store_dev_api/requests/v1/{subscription_review_screenshot → game_center_detail}/create.rb +9 -4
  159. data/lib/app_store_dev_api/requests/v1/game_center_detail/update.rb +29 -0
  160. data/lib/app_store_dev_api/requests/v1/{customer_review_response → game_center_group}/create.rb +6 -4
  161. data/lib/app_store_dev_api/requests/v1/game_center_group/update.rb +21 -0
  162. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard/create.rb +38 -0
  163. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard/update.rb +32 -0
  164. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_entry_submission/create.rb +27 -0
  165. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_image/create.rb +26 -0
  166. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_image/update.rb +21 -0
  167. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_localization/create.rb +30 -0
  168. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_localization/update.rb +25 -0
  169. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_release/create.rb +23 -0
  170. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set/create.rb +28 -0
  171. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set/update.rb +21 -0
  172. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_image/create.rb +26 -0
  173. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_image/update.rb +21 -0
  174. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_localization/create.rb +26 -0
  175. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_localization/update.rb +21 -0
  176. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_member_localization/create.rb +27 -0
  177. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_member_localization/update.rb +21 -0
  178. data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_release/create.rb +23 -0
  179. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_queue/create.rb +27 -0
  180. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_queue/update.rb +26 -0
  181. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule/create.rb +29 -0
  182. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule/update.rb +23 -0
  183. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set/create.rb +24 -0
  184. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set/update.rb +22 -0
  185. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set_test/create.rb +23 -0
  186. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_team/create.rb +27 -0
  187. data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_team/update.rb +22 -0
  188. data/lib/app_store_dev_api/requests/v1/game_center_player_achievement_submission/create.rb +26 -0
  189. data/lib/app_store_dev_api/requests/v1/{in_app_purchase_review_screenshot → in_app_purchase_app_store_review_screenshot}/create.rb +9 -3
  190. data/lib/app_store_dev_api/requests/v1/{in_app_purchase_review_screenshot → in_app_purchase_app_store_review_screenshot}/update.rb +4 -3
  191. data/lib/app_store_dev_api/requests/v1/in_app_purchase_availability/create.rb +13 -12
  192. data/lib/app_store_dev_api/requests/v1/in_app_purchase_image/create.rb +24 -0
  193. data/lib/app_store_dev_api/requests/v1/in_app_purchase_image/update.rb +18 -0
  194. data/lib/app_store_dev_api/requests/v1/in_app_purchase_localization/create.rb +14 -14
  195. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code/create.rb +27 -0
  196. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code/update.rb +21 -0
  197. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_custom_code/create.rb +27 -0
  198. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_custom_code/update.rb +21 -0
  199. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_one_time_use_code/create.rb +27 -0
  200. data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_one_time_use_code/update.rb +21 -0
  201. data/lib/app_store_dev_api/requests/v1/in_app_purchase_price_schedule/create.rb +11 -10
  202. data/lib/app_store_dev_api/requests/v1/in_app_purchase_submission/create.rb +9 -10
  203. data/lib/app_store_dev_api/requests/v1/marketplace_search_detail/create.rb +25 -0
  204. data/lib/app_store_dev_api/requests/v1/marketplace_search_detail/update.rb +21 -0
  205. data/lib/app_store_dev_api/requests/v1/{promoted_purchases → marketplace_webhook}/create.rb +7 -5
  206. data/lib/app_store_dev_api/requests/v1/marketplace_webhook/update.rb +22 -0
  207. data/lib/app_store_dev_api/requests/v1/merchant_id/create.rb +22 -0
  208. data/lib/app_store_dev_api/requests/v1/{app_price_schedule → merchant_id}/update.rb +7 -3
  209. data/lib/app_store_dev_api/requests/v1/nomination/create.rb +39 -0
  210. data/lib/app_store_dev_api/requests/v1/nomination/update.rb +40 -0
  211. data/lib/app_store_dev_api/requests/v1/pass_type_id/create.rb +22 -0
  212. data/lib/app_store_dev_api/requests/v1/pass_type_id/update.rb +21 -0
  213. data/lib/app_store_dev_api/requests/v1/profile/create.rb +14 -23
  214. data/lib/app_store_dev_api/requests/v1/promoted_purchase/create.rb +28 -0
  215. data/lib/app_store_dev_api/requests/v1/{promoted_purchases → promoted_purchase}/update.rb +4 -3
  216. data/lib/app_store_dev_api/requests/v1/review_submission/create.rb +11 -7
  217. data/lib/app_store_dev_api/requests/v1/review_submission/update.rb +12 -15
  218. data/lib/app_store_dev_api/requests/v1/review_submission_item/create.rb +20 -8
  219. data/lib/app_store_dev_api/requests/v1/review_submission_item/update.rb +18 -0
  220. data/lib/app_store_dev_api/requests/v1/routing_app_coverage/create.rb +24 -0
  221. data/lib/app_store_dev_api/requests/v1/routing_app_coverage/update.rb +21 -0
  222. data/lib/app_store_dev_api/requests/v1/subscription/create.rb +17 -17
  223. data/lib/app_store_dev_api/requests/v1/subscription/update.rb +19 -17
  224. data/lib/app_store_dev_api/requests/v1/subscription_app_store_review_screenshot/create.rb +26 -0
  225. data/lib/app_store_dev_api/requests/v1/{subscription_review_screenshot → subscription_app_store_review_screenshot}/update.rb +4 -3
  226. data/lib/app_store_dev_api/requests/v1/subscription_availability/create.rb +13 -12
  227. data/lib/app_store_dev_api/requests/v1/subscription_grace_period/update.rb +13 -16
  228. data/lib/app_store_dev_api/requests/v1/subscription_group/create.rb +12 -13
  229. data/lib/app_store_dev_api/requests/v1/subscription_group/update.rb +10 -14
  230. data/lib/app_store_dev_api/requests/v1/subscription_group_localization/create.rb +14 -16
  231. data/lib/app_store_dev_api/requests/v1/subscription_group_localization/update.rb +11 -16
  232. data/lib/app_store_dev_api/requests/v1/subscription_group_submission/create.rb +9 -10
  233. data/lib/app_store_dev_api/requests/v1/subscription_image/create.rb +20 -0
  234. data/lib/app_store_dev_api/requests/v1/subscription_image/update.rb +21 -0
  235. data/lib/app_store_dev_api/requests/v1/subscription_introductory_offer/create.rb +18 -18
  236. data/lib/app_store_dev_api/requests/v1/subscription_introductory_offer/update.rb +10 -15
  237. data/lib/app_store_dev_api/requests/v1/subscription_localization/create.rb +14 -16
  238. data/lib/app_store_dev_api/requests/v1/subscription_offer_code/create.rb +19 -19
  239. data/lib/app_store_dev_api/requests/v1/{subscription_offer_code_cunstom_code → subscription_offer_code_custom_code}/create.rb +9 -5
  240. data/lib/app_store_dev_api/requests/v1/{subscription_offer_code_cunstom_code → subscription_offer_code_custom_code}/update.rb +2 -3
  241. data/lib/app_store_dev_api/requests/v1/subscription_offer_code_one_time_use_code/create.rb +14 -15
  242. data/lib/app_store_dev_api/requests/v1/subscription_price/create.rb +15 -13
  243. data/lib/app_store_dev_api/requests/v1/subscription_promotional_offer/create.rb +17 -18
  244. data/lib/app_store_dev_api/requests/v1/subscription_promotional_offer/update.rb +10 -12
  245. data/lib/app_store_dev_api/requests/v1/subscription_submission/create.rb +9 -8
  246. data/lib/app_store_dev_api/requests/v1/{app_availability → territory_availability}/update.rb +4 -7
  247. data/lib/app_store_dev_api/requests/v1/user/update.rb +27 -0
  248. data/lib/app_store_dev_api/requests/v1/user_invitation/create.rb +30 -0
  249. data/lib/app_store_dev_api/requests/v1/webhook/create.rb +23 -0
  250. data/lib/app_store_dev_api/requests/v1/webhook/update.rb +21 -0
  251. data/lib/app_store_dev_api/requests/v1/webhook_delivery/create.rb +16 -0
  252. data/lib/app_store_dev_api/requests/v1/webhook_ping/create.rb +16 -0
  253. data/lib/app_store_dev_api/requests/v1/win_back_offer/create.rb +31 -0
  254. data/lib/app_store_dev_api/requests/v1/win_back_offer/update.rb +23 -0
  255. data/lib/app_store_dev_api/requests/v1/win_back_offer/update_prices_linkages.rb +18 -0
  256. data/lib/app_store_dev_api/requests/v2/app_availability/create.rb +13 -14
  257. data/lib/app_store_dev_api/requests/v2/app_availability_v2/create.rb +26 -0
  258. data/lib/app_store_dev_api/requests/v2/app_store_version_experiment_v2/create.rb +27 -0
  259. data/lib/app_store_dev_api/requests/v2/app_store_version_experiment_v2/update.rb +23 -0
  260. data/lib/app_store_dev_api/requests/v2/game_center_achievement_image_v2/create.rb +26 -0
  261. data/lib/app_store_dev_api/requests/v2/game_center_achievement_image_v2/update.rb +21 -0
  262. data/lib/app_store_dev_api/requests/v2/game_center_achievement_localization_v2/create.rb +28 -0
  263. data/lib/app_store_dev_api/requests/v2/game_center_achievement_localization_v2/update.rb +23 -0
  264. data/lib/app_store_dev_api/requests/v2/game_center_achievement_v2/create.rb +32 -0
  265. data/lib/app_store_dev_api/requests/v2/game_center_achievement_v2/update.rb +26 -0
  266. data/lib/app_store_dev_api/requests/v2/game_center_achievement_version_v2/create.rb +22 -0
  267. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_image_v2/create.rb +26 -0
  268. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_image_v2/update.rb +21 -0
  269. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_localization_v2/create.rb +30 -0
  270. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_localization_v2/update.rb +25 -0
  271. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_image_v2/create.rb +26 -0
  272. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_image_v2/update.rb +21 -0
  273. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_localization_v2/create.rb +26 -0
  274. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_localization_v2/update.rb +21 -0
  275. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_v2/create.rb +29 -0
  276. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_v2/update.rb +21 -0
  277. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_version_v2/create.rb +22 -0
  278. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_v2/create.rb +39 -0
  279. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_v2/update.rb +32 -0
  280. data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_version_v2/create.rb +22 -0
  281. data/lib/app_store_dev_api/requests/v2/in_app_purchase/create.rb +16 -17
  282. data/lib/app_store_dev_api/requests/v2/in_app_purchase/update.rb +12 -15
  283. data/lib/app_store_dev_api/requests/v2/in_app_purchase_v2/create.rb +29 -0
  284. data/lib/app_store_dev_api/requests/v2/in_app_purchase_v2/update.rb +23 -0
  285. data/lib/app_store_dev_api/requests/v2/{sandbox_tester → sandbox_tester_v2}/update.rb +5 -4
  286. data/lib/app_store_dev_api/requests/v2/{sandbox_tester_clear_purchase_history/update.rb → sandbox_testers_clear_purchase_history_request_v2/create.rb} +9 -3
  287. data/lib/app_store_dev_api/version.rb +1 -1
  288. data/lib/config/{schema.json → schema_backup.json} +1185 -51
  289. data/lib/config/schema_v4.2.json +7317 -0
  290. data/release_remote.sh +121 -0
  291. data/scripts/README.md +126 -0
  292. data/scripts/cleanup_scripts.sh +73 -0
  293. data/scripts/comprehensive_validation.rb +359 -0
  294. data/scripts/comprehensive_validation_report.json +12 -0
  295. data/scripts/final_validation_report.rb +134 -0
  296. data/scripts/find_deprecated_requests.rb +145 -0
  297. data/scripts/test_request_body_classes.rb +185 -0
  298. data/scripts/validate_requests.rb +192 -0
  299. metadata +241 -34
  300. data/CODE_OF_CONDUCT.md +0 -84
  301. data/lib/app_store_dev_api/requests/v1/app_promoted_purchases/update.rb +0 -16
  302. data/lib/app_store_dev_api/requests/v1/app_store_version_build_linkage_request/update.rb +0 -17
  303. data/lib/app_store_dev_api/requests/v1/build_beta_groups/create.rb +0 -16
  304. data/lib/app_store_dev_api/requests/v1/build_beta_groups/delete.rb +0 -16
  305. data/lib/app_store_dev_api/requests/v1/promoted_purchases_image/create.rb +0 -20
  306. data/lib/app_store_dev_api/requests/v2/sandbox_tester/create.rb +0 -23
  307. data/release.sh +0 -55
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c0944be414e92c74620d040bbc9a341bc62be6f71cacd1839a4e669430c17d1
4
- data.tar.gz: 5052d1a348ae9bb62b5d7aeeafaa75d708e82e53beeef7e02d0af03309144473
3
+ metadata.gz: a4b465858ed4f19c0c756e6cd8015c60f3c6d1b1abfc942511358b1812e67c00
4
+ data.tar.gz: 2c1db48f308133776a4b54bb39c7fbd5c21efdfb5396a65d38154cb9a2de4b6c
5
5
  SHA512:
6
- metadata.gz: f03d1422226cc10a52ecfd9e05e4b17896bccf2cfaf13c67ea3798899c04c7a7787d5cd7bb4eb7e720b050f0b96becbafa1e27a545462b9c30a30124f32f2bac
7
- data.tar.gz: 04e2b88489f202cdb9b2a74c7564a19a2119191a1528b79104b0b41c93912d861e2fd31fdd01176f8727abdce6ca3d2581e6949e67a49bcff07075a2b41a38db
6
+ metadata.gz: 549b8f18858dea46ffecee88a2c0fe69cd59ace82a6d5e41fba3289c0c2cbdcd5ab848f36339589220d1024c3595f0fc444f8f1e4a95224ee09d3f726eba89e1
7
+ data.tar.gz: cd2d09150518ca605fc2a2db990627f1e10fa9b3e8a61c5e1174c515727cb4c6bf5e0794565269ff2fdf76a0a35a18beb0429ae7be9a366bf08732f8dbb9754c
data/.DS_Store CHANGED
Binary file
@@ -0,0 +1,40 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "mcp__playwright__browser_navigate",
5
+ "mcp__playwright__browser_evaluate",
6
+ "Bash(mkdir:*)",
7
+ "mcp__markdownify__webpage-to-markdown",
8
+ "mcp__playwright__browser_wait_for",
9
+ "mcp__playwright__browser_click",
10
+ "mcp__playwright__browser_navigate_back",
11
+ "mcp__playwright__browser_snapshot",
12
+ "mcp__playwright__browser_close",
13
+ "mcp__playwright__browser_type",
14
+ "mcp__playwright__browser_press_key",
15
+ "Bash(git checkout:*)",
16
+ "Bash(bundle exec rspec:*)",
17
+ "Bash(bundle:*)",
18
+ "Bash(ruby:*)",
19
+ "Bash(gem install:*)",
20
+ "Bash(git add:*)",
21
+ "Bash(git commit:*)",
22
+ "WebSearch",
23
+ "Bash(cat:*)",
24
+ "Bash(python3:*)",
25
+ "Bash(chmod:*)",
26
+ "Bash(find:*)",
27
+ "Bash(bash:*)",
28
+ "Bash(gem list:*)",
29
+ "Bash(rake help:*)",
30
+ "Bash(rake validate:*)",
31
+ "Bash(rake install_local:*)",
32
+ "Bash(timeout 180 bundle install:*)"
33
+ ],
34
+ "deny": [],
35
+ "ask": [],
36
+ "additionalDirectories": [
37
+ "/Users/wade/MyDocument/ScriptCode/pindo"
38
+ ]
39
+ }
40
+ }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,62 @@
1
+ # Changelog
2
+
3
+ 所有对本项目的显著更改都将记录在此文件中。
4
+
5
+ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
6
+ 并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
7
+
1
8
  ## [Unreleased]
2
9
 
3
- ## [0.1.0] - 2023-04-23
10
+ ### Fixed
11
+ - 修复所有 Request 类与 Apple App Store Connect API v4.2 规范的不一致问题
12
+ - 修复 68 个接口的属性和关系命名规范(从下划线命名改为驼峰命名)
13
+ - 修复 `Attributes` 类中布尔值验证bug(false值被误判为缺失)
14
+ - 修复 `Relationships` 类中布尔值验证bug(false值被误判为缺失)
15
+
16
+ ### Changed
17
+ - API 规范一致性从 72.2% 提升到 100%
18
+ - 规范化所有属性和关系命名为驼峰命名(camelCase)
19
+ - 更新所有 Request 类以匹配 OpenAPI v4.2 规范
20
+
21
+ ### Added
22
+ - 新增 160+ 个 Request 类文件(覆盖 API v4.2 新增功能)
23
+ - 新增 `Relationships` 对象类
24
+ - 新增验证工具 `scripts/validate_requests.rb`
25
+ - 新增自动修复工具 `scripts/fix_requests.rb`
26
+ - 新增 Request Body 功能测试
27
+
28
+ ### Technical Details
29
+
30
+ **修复的主要问题类别:**
31
+ 1. **属性命名规范化**(~150处)
32
+ - `available_in_new_territories` → `availableInNewTerritories`
33
+ - `contact_email` → `contactEmail`
34
+ - `whats_new` → `whatsNew`
35
+
36
+ 2. **新增缺失属性**(~80处)
37
+ - AccessibilityDeclaration: 新增 9个无障碍功能属性
38
+ - Webhook: 新增 `eventTypes`, `secret`
39
+ - AgeRatingDeclaration: 新增 12个分级相关属性
40
+
41
+ 3. **移除过时属性**(~70处)
42
+ - AppEvent: 移除 `eventState`
43
+ - AppEncryptionDeclaration: 移除 7个过时属性
44
+
45
+ 4. **关系命名规范化**(~20处)
46
+ - `app_store_version` → `appStoreVersion`
47
+ - `app_clip_default_experience` → `appClipDefaultExperience`
48
+
49
+ **影响的文件:**
50
+ - 68 个已存在的 Request 类(修复)
51
+ - 160+ 个新增的 Request 类
52
+ - 2 个核心对象类(Attributes, Relationships)
53
+ - 1 个测试文件
54
+ - 2 个新增工具脚本
55
+
56
+ **测试结果:**
57
+ - ✅ 所有 Request Body 测试通过 (6/6)
58
+ - ✅ API 一致性验证通过 (241/241)
59
+
60
+ ## [历史版本]
4
61
 
5
- - Initial release
62
+ (以前的版本历史可以在 git log 中查看)
data/CLAUDE.md ADDED
@@ -0,0 +1,256 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## 项目概述
6
+
7
+ AppStoreDevApi 是一个 Ruby gem,提供与 Apple App Store Connect API 交互的客户端库。
8
+
9
+ **官方 API 文档**: https://developer.apple.com/documentation/appstoreconnectapi
10
+ **当前 API 版本支持**: v1, v2 (需要升级到 v4.0)
11
+
12
+ ## 系统架构详解
13
+
14
+ ### 整体架构设计
15
+
16
+ ```
17
+ ┌─────────────────────────────────────────┐
18
+ │ lib/config/schema.json │ ← 配置层:301个端点定义
19
+ └────────────┬────────────────────────────┘
20
+ │ 读取
21
+ ┌────────────▼────────────────────────────┐
22
+ │ lib/app_store_dev_api/schema.rb │ ← 解析层:JSON→Ruby对象
23
+ └────────────┬────────────────────────────┘
24
+ │ 注册
25
+ ┌────────────▼────────────────────────────┐
26
+ │ lib/app_store_dev_api/base.rb │ ← 核心层:动态方法调度
27
+ │ - method_missing │
28
+ │ - JWT 认证 (Authorization) │
29
+ │ - 端点注册 (Registry) │
30
+ └────────────┬────────────────────────────┘
31
+ │ 调用
32
+ ┌────────────▼────────────────────────────┐
33
+ │ lib/app_store_dev_api/requests/ │ ← 请求层:数据结构定义
34
+ │ - v1/ (主要版本) │
35
+ │ - v2/ (部分功能) │
36
+ └─────────────────────────────────────────┘
37
+ ```
38
+
39
+ ### 核心特性:配置驱动的 API 管理
40
+
41
+ #### 1. JSON 配置文件 (`lib/config/schema.json`)
42
+
43
+ **当前规模**:
44
+ - 文件大小:1,675 行
45
+ - 端点数量:301 个
46
+ - 支持版本:v1, v2
47
+
48
+ **配置结构**:
49
+ ```json
50
+ {
51
+ "web_service_endpoints": [
52
+ {
53
+ "alias": "create_bundle_id", // Ruby 方法名
54
+ "http_method": "post", // HTTP 方法
55
+ "url": "https://api.appstoreconnect.apple.com/v1/bundleIds",
56
+ "http_body_type": "Requests::V1::BundleId::Create" // 请求体类(可选)
57
+ }
58
+ ]
59
+ }
60
+ ```
61
+
62
+ #### 2. 动态方法生成机制
63
+
64
+ **工作流程**:
65
+ 1. **启动时**:Schema 类读取 JSON 文件,创建 WebServiceEndpoint 对象
66
+ 2. **运行时**:Base 类通过 `method_missing` 拦截方法调用
67
+ 3. **执行时**:从 Registry 查找端点配置,构建并执行 HTTP 请求
68
+
69
+ **关键优势**:
70
+ - ✅ 无需手动编写 301 个方法
71
+ - ✅ 统一的错误处理和响应解析
72
+ - ✅ 易于批量更新和维护
73
+
74
+ #### 3. 请求体管理 (`lib/app_store_dev_api/requests/`)
75
+
76
+ **目录结构**:
77
+ ```
78
+ requests/
79
+ ├── v1/ # API v1 请求类(83个文件)
80
+ │ ├── app/
81
+ │ │ ├── create.rb
82
+ │ │ └── update.rb
83
+ │ ├── bundle_id/
84
+ │ ├── certificate/
85
+ │ └── ...
86
+ └── v2/ # API v2 请求类(新功能)
87
+ ├── sandbox_tester/
88
+ └── in_app_purchase/
89
+ ```
90
+
91
+ **请求类设计模式**:
92
+ ```ruby
93
+ module Requests::V1::BundleId
94
+ class Create < Request::Body
95
+ data do
96
+ type 'bundleIds'
97
+ attributes do
98
+ property :identifier, required: true
99
+ property :name, required: true
100
+ property :platform, required: true
101
+ end
102
+ end
103
+ end
104
+ end
105
+ ```
106
+
107
+ ### 认证与安全
108
+
109
+ #### JWT Token 生成 (`Client::Authorization`)
110
+ - 使用 ES256 算法签名
111
+ - Token 有效期:20 分钟
112
+ - 自动刷新机制
113
+
114
+ #### 请求头配置
115
+ ```ruby
116
+ {
117
+ 'Authorization' => "Bearer #{jwt_token}",
118
+ 'Content-Type' => 'application/json'
119
+ }
120
+ ```
121
+
122
+ ### 如何添加新的 API 接口
123
+
124
+ #### 方式一:添加简单端点(仅 GET/DELETE)
125
+ 1. 编辑 `lib/config/schema.json`
126
+ 2. 添加端点配置:
127
+ ```json
128
+ {
129
+ "alias": "get_app_info",
130
+ "http_method": "get",
131
+ "url": "https://api.appstoreconnect.apple.com/v1/apps/{id}"
132
+ }
133
+ ```
134
+ 3. 无需其他操作,立即可用
135
+
136
+ #### 方式二:添加复杂端点(需要请求体)
137
+ 1. 在 `schema.json` 中添加端点,指定 `http_body_type`
138
+ 2. 创建对应的 Request 类:
139
+ ```ruby
140
+ # lib/app_store_dev_api/requests/v1/webhook/create.rb
141
+ module Requests::V1::Webhook
142
+ class Create < Request::Body
143
+ data do
144
+ type 'webhooks'
145
+ attributes do
146
+ property :url, required: true
147
+ property :events, required: true
148
+ end
149
+ end
150
+ end
151
+ end
152
+ ```
153
+
154
+ ### 当前问题与升级需求
155
+
156
+ #### API 版本滞后
157
+ - **当前支持**:主要是 API v1.x - v2.x
158
+ - **最新版本**:Apple 已发布 API v4.0
159
+ - **缺失功能**:
160
+ - Webhooks(事件通知)
161
+ - Accessibility Declarations(无障碍声明)
162
+ - Customer Review Summarizations(评论摘要)
163
+ - Background Assets(后台资源)
164
+ - TestFlight Feedback(Beta 反馈)
165
+
166
+ #### 需要更新的端点数量
167
+ - 新增端点:约 25-30 个
168
+ - 更新端点:约 10-15 个
169
+ - 废弃端点:约 5 个
170
+
171
+ ### API 文档映射
172
+
173
+ 生成的每个方法都包含对应的 Apple 官方文档链接,例如:
174
+ - Bundle ID 注册: https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_bundle_id
175
+ - 其他 API: https://developer.apple.com/documentation/appstoreconnectapi
176
+
177
+ ## Key Architecture
178
+
179
+ ### Core Components
180
+
181
+ 1. **Client System** (`lib/app_store_dev_api/client.rb`, `lib/app_store_dev_api/base.rb`)
182
+ - `Base` class handles HTTP requests, JWT authorization, and response decoding
183
+ - `Client` class contains generated methods for each API endpoint
184
+ - Uses `Client::Authorization` for JWT token generation
185
+ - Uses `Client::Registry` for endpoint management
186
+
187
+ 2. **Request Objects** (`lib/app_store_dev_api/requests/`)
188
+ - Organized by API version (v1, v2)
189
+ - Each request type has its own class with data structure definitions
190
+ - Uses builder pattern for request creation
191
+
192
+ 3. **Schema System** (`lib/app_store_dev_api/schema.rb`)
193
+ - Defines API endpoints and their configurations
194
+ - Used for code generation and runtime request handling
195
+
196
+ 4. **Object Model** (`lib/app_store_dev_api/object/`)
197
+ - Provides base classes for API data objects
198
+ - Handles attributes, relationships, and data type definitions
199
+
200
+ ## Development Commands
201
+
202
+ ```bash
203
+ # Install dependencies
204
+ bundle install
205
+
206
+ # Open interactive console with the gem loaded
207
+ bin/console
208
+
209
+ # Build the gem
210
+ bundle exec rake build
211
+
212
+ # Install gem locally
213
+ bundle exec rake install
214
+
215
+ # Release new version (creates git tag and pushes to RubyGems)
216
+ bundle exec rake release
217
+
218
+ # Run linter (RuboCop)
219
+ bundle exec rubocop
220
+
221
+ # Generate changelog
222
+ bundle exec rake changelog
223
+
224
+ # 重新生成 Client 类(添加新 API 后)
225
+ ruby -r ./lib/app_store_dev_api/client/builder.rb -e "AppStoreDevApi::Client::Builder.new.write"
226
+ ```
227
+
228
+ ## Version Management
229
+
230
+ - Version is defined in `lib/app_store_dev_api/version.rb`
231
+ - To release: update VERSION constant, then run `bundle exec rake release`
232
+
233
+ ## Code Generation
234
+
235
+ This project uses generated code (see "WARNING ABOUT GENERATED CODE" comments). The `Client` class and request classes are generated based on Apple's API documentation.
236
+
237
+ ## Dependencies
238
+
239
+ - **zeitwerk**: Autoloading
240
+ - **activesupport**: Ruby extensions
241
+ - **jwt**: JWT token generation for Apple API authentication
242
+
243
+ ## API 参考资源
244
+
245
+ - **官方文档主页**: https://developer.apple.com/documentation/appstoreconnectapi
246
+ - **REST API 规范**: 遵循 JSON API 规范
247
+ - **认证方式**: JWT Bearer Token
248
+ - **基础 URL**: https://api.appstoreconnect.apple.com
249
+
250
+ ## Network Request Rules
251
+
252
+ ### Proxy Configuration
253
+ - Claude-related requests: Use environment proxy settings
254
+ - Non-Claude requests (e.g., Apple API calls): Direct connection without proxy
255
+ - Use `--noproxy "*"` for curl
256
+ - Use `proxies={'http': None, 'https': None}` for Python requests
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_store_dev_api (0.1.3)
5
- activesupport (>= 6.0.0)
6
- jwt (>= 1.4)
7
- zeitwerk (>= 2.6.7)
4
+ app_store_dev_api (0.2.0)
5
+ activesupport (~> 7.0)
6
+ jwt (~> 2.0, >= 2.0.0)
7
+ zeitwerk (~> 2.6)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -16,7 +16,7 @@ GEM
16
16
  tzinfo (~> 2.0)
17
17
  addressable (2.8.4)
18
18
  public_suffix (>= 2.0.2, < 6.0)
19
- ast (2.4.2)
19
+ ast (2.4.3)
20
20
  async (2.5.0)
21
21
  console (~> 1.10)
22
22
  io-event (~> 1.1)
@@ -36,6 +36,7 @@ GEM
36
36
  async
37
37
  async-pool (0.4.0)
38
38
  async (>= 1.25)
39
+ base64 (0.1.2)
39
40
  cgi (0.3.6)
40
41
  coderay (1.1.3)
41
42
  concurrent-ruby (1.2.2)
@@ -85,8 +86,9 @@ GEM
85
86
  i18n (1.12.0)
86
87
  concurrent-ruby (~> 1.0)
87
88
  io-event (1.1.7)
88
- json (2.6.3)
89
+ json (2.14.1)
89
90
  jwt (2.7.0)
91
+ language_server-protocol (3.17.0.5)
90
92
  listen (3.8.0)
91
93
  rb-fsevent (~> 0.10, >= 0.10.3)
92
94
  rb-inotify (~> 0.9, >= 0.9.10)
@@ -101,9 +103,11 @@ GEM
101
103
  octokit (4.25.1)
102
104
  faraday (>= 1, < 3)
103
105
  sawyer (~> 0.9)
104
- parallel (1.23.0)
105
- parser (3.2.2.1)
106
+ parallel (1.27.0)
107
+ parser (3.3.9.0)
106
108
  ast (~> 2.4.1)
109
+ racc
110
+ prism (1.5.1)
107
111
  protocol-hpack (1.4.2)
108
112
  protocol-http (0.24.1)
109
113
  protocol-http1 (0.15.0)
@@ -115,12 +119,13 @@ GEM
115
119
  coderay (~> 1.1)
116
120
  method_source (~> 1.0)
117
121
  public_suffix (5.0.1)
122
+ racc (1.8.1)
118
123
  rainbow (3.1.1)
119
124
  rake (13.0.6)
120
125
  rb-fsevent (0.11.2)
121
126
  rb-inotify (0.10.1)
122
127
  ffi (~> 1.0)
123
- regexp_parser (2.8.0)
128
+ regexp_parser (2.11.3)
124
129
  rexml (3.2.5)
125
130
  rspec (3.12.0)
126
131
  rspec-core (~> 3.12.0)
@@ -135,18 +140,21 @@ GEM
135
140
  diff-lcs (>= 1.2.0, < 2.0)
136
141
  rspec-support (~> 3.12.0)
137
142
  rspec-support (3.12.0)
138
- rubocop (1.50.2)
143
+ rubocop (1.56.4)
144
+ base64 (~> 0.1.1)
139
145
  json (~> 2.3)
146
+ language_server-protocol (>= 3.17.0)
140
147
  parallel (~> 1.10)
141
- parser (>= 3.2.0.0)
148
+ parser (>= 3.2.2.3)
142
149
  rainbow (>= 2.2.2, < 4.0)
143
150
  regexp_parser (>= 1.8, < 3.0)
144
151
  rexml (>= 3.2.5, < 4.0)
145
- rubocop-ast (>= 1.28.0, < 2.0)
152
+ rubocop-ast (>= 1.28.1, < 2.0)
146
153
  ruby-progressbar (~> 1.7)
147
154
  unicode-display_width (>= 2.4.0, < 3.0)
148
- rubocop-ast (1.28.0)
149
- parser (>= 3.2.1.0)
155
+ rubocop-ast (1.47.0)
156
+ parser (>= 3.3.7.2)
157
+ prism (~> 1.4)
150
158
  ruby-progressbar (1.13.0)
151
159
  ruby2_keywords (0.0.5)
152
160
  rubyzip (2.3.2)
@@ -162,12 +170,12 @@ GEM
162
170
  simplecov-html (0.12.3)
163
171
  simplecov_json_formatter (0.1.4)
164
172
  thor (1.2.1)
165
- timecop (0.9.6)
173
+ timecop (0.9.10)
166
174
  timers (4.3.5)
167
175
  traces (0.9.1)
168
176
  tzinfo (2.0.6)
169
177
  concurrent-ruby (~> 1.0)
170
- unicode-display_width (2.4.2)
178
+ unicode-display_width (2.6.0)
171
179
  webmock (3.18.1)
172
180
  addressable (>= 2.8.0)
173
181
  crack (>= 0.3.2)
@@ -175,11 +183,12 @@ GEM
175
183
  zeitwerk (2.6.7)
176
184
 
177
185
  PLATFORMS
186
+ arm64-darwin-24
178
187
  x86_64-darwin-22
179
188
 
180
189
  DEPENDENCIES
181
190
  app_store_dev_api!
182
- bundler
191
+ bundler (~> 2.4, >= 2.4.0)
183
192
  erb (~> 4.0.2)
184
193
  factory_bot (~> 6.2.1)
185
194
  github_changelog_generator (= 1.16.4)
@@ -187,11 +196,11 @@ DEPENDENCIES
187
196
  pry (~> 0.14.1)
188
197
  rake (~> 13.0)
189
198
  rspec (~> 3.12.0)
190
- rubocop (~> 1.50.1)
191
- rubyzip
199
+ rubocop (~> 1.56.4)
200
+ rubyzip (~> 2.3)
192
201
  semantic (~> 1.6.1)
193
202
  simplecov (~> 0.22.0)
194
- timecop (~> 0.9.5)
203
+ timecop (~> 0.9.8)
195
204
  webmock (~> 3.18.1)
196
205
 
197
206
  BUNDLED WITH