Sha256: 10d367214b67d009401254604d8aab2a5b7c20766cc8d4220c5f7a1a3f6be299

Contents?: true

Size: 1.09 KB

Versions: 10

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Domain
      class ScriptProject
        include SmartProperties

        UUID_ENV_KEY = "UUID"

        property! :id, accepts: String
        property :env, accepts: ShopifyCli::Resources::EnvFile

        property! :extension_point_type, accepts: String
        property! :script_name, accepts: String
        property! :language, accepts: String

        property :script_json, accepts: ScriptJson

        def initialize(*)
          super

          ShopifyCli::Core::Monorail.metadata = {
            "script_name" => script_name,
            "extension_point_type" => extension_point_type,
            "language" => language,
          }
        end

        def api_key
          env&.api_key
        end

        def api_secret
          env&.secret
        end

        def uuid
          uuid_defined? && !raw_uuid.empty? ? raw_uuid : nil
        end

        def uuid_defined?
          !raw_uuid.nil?
        end

        private

        def raw_uuid
          env&.extra&.[](UUID_ENV_KEY)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shopify-cli-2.4.0 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.3.0 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.2.2 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.2.1 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.2.0 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.1.0 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.0.2 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.0.1 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-2.0.0 lib/project_types/script/layers/domain/script_project.rb
shopify-cli-1.14.0 lib/project_types/script/layers/domain/script_project.rb