Sha256: 60d7b29053c581f7c06d1a3b1f23bc2ec405ad14a13a70aa9e14ad58cb498df0

Contents?: true

Size: 572 Bytes

Versions: 33

Compression:

Stored size: 572 Bytes

Contents

# frozen_string_literal: true
module ThemeCheck
  #
  # Unwanted:
  #
  # {{ x | some_unknown_filter }}
  #
  # Wanted:
  #
  # {{ x | upcase }}
  #
  class UnknownFilter < LiquidCheck
    severity :error
    category :liquid
    doc docs_url(__FILE__)

    def on_variable(node)
      used_filters = node.value.filters.map { |name, *_rest| name }
      undefined_filters = used_filters - ShopifyLiquid::Filter.labels

      undefined_filters.each do |undefined_filter|
        add_offense("Undefined filter `#{undefined_filter}`", node: node)
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
theme-check-1.9.2 lib/theme_check/checks/unknown_filter.rb
theme-check-1.9.1 lib/theme_check/checks/unknown_filter.rb
theme-check-1.9.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.8.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.7.2 lib/theme_check/checks/unknown_filter.rb
theme-check-1.7.1 lib/theme_check/checks/unknown_filter.rb
theme-check-1.7.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.6.2 lib/theme_check/checks/unknown_filter.rb
theme-check-1.6.1 lib/theme_check/checks/unknown_filter.rb
theme-check-1.6.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.5.2 lib/theme_check/checks/unknown_filter.rb
theme-check-1.5.1 lib/theme_check/checks/unknown_filter.rb
theme-check-1.5.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.4.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.3.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.2.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.1.0 lib/theme_check/checks/unknown_filter.rb
theme-check-1.0.0 lib/theme_check/checks/unknown_filter.rb
theme-check-0.10.2 lib/theme_check/checks/unknown_filter.rb
theme-check-0.10.1 lib/theme_check/checks/unknown_filter.rb