Sha256: 20526c1cbda37d40118777792a7a6c880c872b78352803fcb843a10e5b763797

Contents?: true

Size: 851 Bytes

Versions: 22

Compression:

Stored size: 851 Bytes

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Domain
      class ScriptConfig
        attr_reader :content, :version, :configuration_ui, :configuration, :filename

        REQUIRED_FIELDS = %w(version)

        def initialize(content:, filename:)
          @filename = filename
          validate_content!(content)
          @content = content
          @version = @content["version"].to_s
          @configuration_ui = @content.fetch("configurationUi", true)
          @configuration = @content["configuration"]
        end

        private

        def validate_content!(content)
          REQUIRED_FIELDS.each do |field|
            if content[field].nil?
              raise Errors::MissingScriptConfigFieldError.new(field: field, filename: filename)
            end
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
shopify-cli-2.25.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.24.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.23.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.22.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.21.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.20.1 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.20.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.19.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.18.1 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.18.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.17.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.16.1 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.16.0 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.6 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.5 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.4 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.3 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.2 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.1 lib/project_types/script/layers/domain/script_config.rb
shopify-cli-2.15.0 lib/project_types/script/layers/domain/script_config.rb