Sha256: 96972ef653510bdab20b4a21fb2424f351cf28c6a8f128d9be4423ffcc9f1ab1

Contents?: true

Size: 835 Bytes

Versions: 22

Compression:

Stored size: 835 Bytes

Contents

# frozen_string_literal: true

module Extension
  module Models
    module SpecificationHandlers
      module WebPixelExtensionUtils
        class ScriptConfig
          attr_reader :content, :version, :configuration, :filename

          REQUIRED_FIELDS = %w(version)

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

          private

          def validate_content!(content)
            REQUIRED_FIELDS.each do |field|
              if content[field].nil?
                raise "invalid field:#{field}, filename:#{filename}"
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

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