Sha256: fd9a9fa63a53f78bfb3e113fa0abc9e69cd9909b9607557795c1d8f4d00d3244

Contents?: true

Size: 841 Bytes

Versions: 14

Compression:

Stored size: 841 Bytes

Contents

# frozen_string_literal: true

module Liquid
  class InlineComment < Tag
    def initialize(tag_name, markup, options)
      super

      # Semantically, a comment should only ignore everything after it on the line.
      # Currently, this implementation doesn't support mixing a comment with another tag
      # but we need to reserve future support for this and prevent the introduction
      # of inline comments from being backward incompatible change.
      #
      # As such, we're forcing users to put a # symbol on every line otherwise this
      # tag will throw an error.
      if markup.match?(/\n\s*[^#\s]/)
        raise SyntaxError, options[:locale].t("errors.syntax.inline_comment_invalid")
      end
    end

    def render_to_output_buffer(_context, output)
      output
    end

    def blank?
      true
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
liquid-5.8.1 lib/liquid/tags/inline_comment.rb
liquid-5.8.0 lib/liquid/tags/inline_comment.rb
liquid-5.7.3 lib/liquid/tags/inline_comment.rb
liquid-5.7.2 lib/liquid/tags/inline_comment.rb
liquid-5.7.1 lib/liquid/tags/inline_comment.rb
liquid-5.7.0 lib/liquid/tags/inline_comment.rb
liquid-5.6.4 lib/liquid/tags/inline_comment.rb
liquid-5.6.3 lib/liquid/tags/inline_comment.rb
liquid-5.6.2 lib/liquid/tags/inline_comment.rb
liquid-5.6.1 lib/liquid/tags/inline_comment.rb
liquid-5.6.0 lib/liquid/tags/inline_comment.rb
liquid-5.6.0.rc3 lib/liquid/tags/inline_comment.rb
liquid-5.6.0.rc2 lib/liquid/tags/inline_comment.rb
liquid-5.6.0.rc1 lib/liquid/tags/inline_comment.rb