Sha256: 60c4e2a83019062bb6e6ef6ba6285f3f61d9050c63d63fadbd957d733dac0905
Contents?: true
Size: 1006 Bytes
Versions: 1
Compression:
Stored size: 1006 Bytes
Contents
# frozen_string_literal: true require "shopify_cli/thread_pool" require_relative "app_extensions/job" module ShopifyCLI class PartnersAPI class AppExtensions class << self def fetch_apps_extensions(ctx, org, type) jobs = apps(org).map { |app| AppExtensions::Job.new(ctx, app, type) } consume_jobs!(jobs) patch_apps_with_extensions!(jobs) org end private def apps(org) (org && org["apps"]) || [] end def consume_jobs!(jobs) thread_pool = ShopifyCLI::ThreadPool.new jobs.each do |job| thread_pool.schedule(job) end thread_pool.shutdown raise_if_any_error(jobs) end def patch_apps_with_extensions!(jobs) jobs.each(&:patch_app_with_extensions!) end def raise_if_any_error(jobs) jobs.find(&:error?).tap { |job| raise job.error if job } end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shopify-cli-2.16.0 | lib/shopify_cli/partners_api/app_extensions.rb |