Sha256: ccd59fc74c45b0fa8ec6139f0d063947a7cbfbbb337aa18d319f4662797b43e1
Contents?: true
Size: 946 Bytes
Versions: 1
Compression:
Stored size: 946 Bytes
Contents
# frozen_string_literal: true require "set" module ThemeCheck class UnusedSnippet < LiquidCheck severity :suggestion category :liquid doc docs_url(__FILE__) def initialize @used_snippets = Set.new end def on_include(node) if node.value.template_name_expr.is_a?(String) @used_snippets << "snippets/#{node.value.template_name_expr}" else # Can't reliably track unused snippets if an expression is used, ignore this check @used_snippets.clear ignore! end end alias_method :on_render, :on_include def on_end missing_snippets.each do |theme_file| add_offense("This snippet is not used", theme_file: theme_file) do |corrector| corrector.remove_file(@theme, theme_file.relative_path.to_s) end end end def missing_snippets theme.snippets.reject { |t| @used_snippets.include?(t.name) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
theme-check-1.8.0 | lib/theme_check/checks/unused_snippet.rb |