Sha256: b514991206338c9551c9a8f55649c9cb74a91154b5f79ccb6fd04c7edc5bc056

Contents?: true

Size: 753 Bytes

Versions: 9

Compression:

Stored size: 753 Bytes

Contents

module Wovnrb
  class HtmlReplaceMarker
    KEY_PREFIX = '__wovn-backend-ignored-key-'.freeze

    def initialize
      @current_key_number = 0
      @mapped_values = []
    end

    # Add argument's value to mapping information with comment style key
    def add_comment_value(value)
      key = "<!-- #{generate_key} -->"
      @mapped_values << [key, value]

      key
    end

    def revert(marked_html)
      i = @mapped_values.size
      while i > 0
        i -= 1
        key, value = @mapped_values[i]
        marked_html = marked_html.sub(key, value)
      end

      marked_html
    end

    private

    def generate_key
      next_key = "#{KEY_PREFIX}#{@current_key_number}"
      @current_key_number += 1

      next_key
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
wovnrb-2.2.1 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.2.0 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.1.0 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.5 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.4 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.3 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.2 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.1 lib/wovnrb/services/html_replace_marker.rb
wovnrb-2.0.0 lib/wovnrb/services/html_replace_marker.rb