Sha256: 56592b7b542534139a7dab14a4a916ce37c02cb7913882a87aa3dfff0c6070f2

Contents?: true

Size: 1.43 KB

Versions: 24

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true
require "shopify_cli"
require "pathname"

module Extension
  module Tasks
    class MergeServerConfig
      include SmartProperties

      property! :context, accepts: ShopifyCLI::Context
      property! :file_path, accepts: ->(path) { Pathname(path).yield_self(&:absolute?) }
      property! :port, accepts: Integer, default: ShopifyCLI::Constants::Extension::DEFAULT_PORT
      property  :resource_url, accepts: String
      property  :tunnel_url, accepts: String
      property! :type, accepts: Models::DevelopmentServerRequirements::SUPPORTED_EXTENSION_TYPES

      def self.call(*args)
        new(*args).call
      end

      def call
        config = YAML.load_file(file_path) if File.file?(file_path)
        config ||= {}

        project = ExtensionProject.current
        Tasks::ConvertServerConfig.call(
          api_key: project.env.api_key,
          context: context,
          hash: config,
          registration_uuid: project.registration_uuid,
          resource_url: resource_url || project.resource_url,
          store: project.env.shop || "",
          title: project.title,
          tunnel_url: tunnel_url,
          type: type,
          port: port,
          metafields: config["metafields"]
        )
      rescue Psych::SyntaxError => e
        raise(
          ShopifyCLI::Abort,
          ShopifyCLI::Context.message("core.yaml.error.invalid", file_name, e.message)
        )
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
shopify-cli-2.36.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.35.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.34.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.33.1 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.33.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.32.1 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.32.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.31.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.30.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.29.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.28.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.27.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.26.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.25.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.24.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.23.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.22.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.21.0 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.20.1 lib/project_types/extension/tasks/merge_server_config.rb
shopify-cli-2.20.0 lib/project_types/extension/tasks/merge_server_config.rb