Sha256: 2327599b664ea5aee749031c6db6e1214eb6329829717a6f9791c51895bac3e5
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module BootstrapEmail module Converter class SupportUrlTokens < Base OPEN_BRACKETS = [CGI.escape('{{'), '{{', "#{CGI.escape('{')}%", '{%'].freeze CLOSE_BRACKETS = [CGI.escape('}}'), '}}', "%#{CGI.escape('}')}", '%}'].freeze def self.replace(html) regex = /((href|src)=("|'))(.*?((#{opening_regex}).*?(#{closing_regex})).*?)("|')/ return unless regex.match?(html) inner_regex = /((#{opening_regex}).*?(#{closing_regex}))/ html.gsub!(regex) do |_match| start_text = Regexp.last_match(1) middle_text = Regexp.last_match(4) end_text = Regexp.last_match(8) middle_text.gsub!(inner_regex) do |match| CGI.unescape(match) end "#{start_text}#{middle_text}#{end_text}" end end def self.opening_regex opening_regex = OPEN_BRACKETS.map { |bracket| Regexp.quote(bracket) }.join('|') end def self.closing_regex closing_regex = CLOSE_BRACKETS.map { |bracket| Regexp.quote(bracket) }.join('|') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bootstrap-email-1.4.1 | lib/bootstrap-email/converters/support_url_tokens.rb |