Sha256: c77c8de5cead4caa7b4fdc93df9f4bb9220195de11b372878147420dd3ad9d12

Contents?: true

Size: 730 Bytes

Versions: 13

Compression:

Stored size: 730 Bytes

Contents

# frozen_string_literal: true
module ThemeCheck
  # Reports missing shopify required directories

  class RequiredDirectories < LiquidCheck
    severity :error
    category :liquid
    doc docs_url(__FILE__)

    REQUIRED_DIRECTORIES = %w(assets config layout locales sections snippets templates)

    def on_end
      directories = theme.directories.map(&:to_s)
      missing_directories = REQUIRED_DIRECTORIES - directories
      missing_directories.each { |d| add_missing_directories_offense(d) }
    end

    private

    def add_missing_directories_offense(directory)
      add_offense("Theme is missing '#{directory}' directory") do |corrector|
        corrector.mkdir(@theme.storage, directory)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
theme-check-1.15.0 lib/theme_check/checks/required_directories.rb
theme-check-1.14.0 lib/theme_check/checks/required_directories.rb
theme-check-1.13.0 lib/theme_check/checks/required_directories.rb
theme-check-1.12.1 lib/theme_check/checks/required_directories.rb
theme-check-1.12.0 lib/theme_check/checks/required_directories.rb
theme-check-1.11.0 lib/theme_check/checks/required_directories.rb
theme-check-1.10.3 lib/theme_check/checks/required_directories.rb
theme-check-1.10.2 lib/theme_check/checks/required_directories.rb
theme-check-1.10.1 lib/theme_check/checks/required_directories.rb
theme-check-1.10.0 lib/theme_check/checks/required_directories.rb
theme-check-1.9.2 lib/theme_check/checks/required_directories.rb
theme-check-1.9.1 lib/theme_check/checks/required_directories.rb
theme-check-1.9.0 lib/theme_check/checks/required_directories.rb