Sha256: 89ee3c60fbc954087801f3aee2ce5f61819651649a8dce8da3801e5d1f09752a
Contents?: true
Size: 1.75 KB
Versions: 2
Compression:
Stored size: 1.75 KB
Contents
# frozen_string_literal: true require "shopify_cli" module Script module Layers module Application class CreateScript class << self def call(ctx:, language:, script_name:, extension_point_type:) extension_point = ExtensionPoints.get(type: extension_point_type) create_project(ctx, language, script_name, extension_point) create_definition(ctx, language, extension_point, script_name) end private def create_project(ctx, language, script_name, extension_point) ScriptProject.create(script_name) ctx.root = File.join(ctx.root, script_name) ScriptProject.write( ctx, project_type: :script, organization_id: nil, # TODO: can you provide this at creation extension_point_type: extension_point.type, script_name: script_name ) ProjectDependencies .bootstrap(ctx: ctx, language: language, extension_point: extension_point, script_name: script_name) ProjectDependencies .install(ctx: ctx, language: language, extension_point: extension_point, script_name: script_name) end def create_definition(ctx, language, extension_point, script_name) script = nil UI::StrictSpinner.spin(ctx.message('script.create.creating')) do |spinner| script = Infrastructure::ScriptRepository.new.create_script(language, extension_point, script_name) Infrastructure::TestSuiteRepository.new.create_test_suite(script) spinner.update_title(ctx.message('script.create.created')) end script end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shopify-cli-0.9.1 | lib/project_types/script/layers/application/create_script.rb |
shopify-cli-0.9.0 | lib/project_types/script/layers/application/create_script.rb |