Sha256: d8792dab3dafa29f03313c8d626105f216a3a3c7907d81d1039f873c721067c9

Contents?: true

Size: 934 Bytes

Versions: 17

Compression:

Stored size: 934 Bytes

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Infrastructure
      class SparseCheckoutDetails
        include SmartProperties
        property! :repo, accepts: String
        property! :branch, accepts: String
        property! :path, accepts: String
        property! :input_queries_enabled, accepts: [true, false]

        def ==(other)
          self.class == other.class &&
            self.class.properties.all? { |name, _| self[name] == other[name] }
        end

        def setup(ctx)
          ShopifyCLI::Git.sparse_checkout(repo, patterns_to_checkout, branch, ctx)
        end

        private

        def patterns_to_checkout
          paths = [path]
          unless input_queries_enabled
            paths << "!#{path}/#{ScriptProjectRepository::INPUT_QUERY_PATH}"
            paths << "!#{path}/schema.graphql"
          end
          paths.join(" ")
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

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