Sha256: 79c32864c93de3a3ce65c9ea74a859aa72e4d1cd4ba474a6f47d62384d5c1948
Contents?: true
Size: 866 Bytes
Versions: 42
Compression:
Stored size: 866 Bytes
Contents
module Awestruct module Extensions class Gsub def initialize(pattern, replacement, options = {}) @pattern = pattern @replacement = replacement.is_a?(Proc) ? replacement : lambda { |site, page| replacement } @gsub_required = lambdaize(options[:gsub_required]) end def transform(site, page, rendered) if (@gsub_required.call(site, page)) replacement = @replacement.call(site, page).to_s rendered = rendered.gsub(@pattern, replacement) end rendered end private def lambdaize(param) if param.nil? lambdaize([".html"]) else if param.is_a?(Array) lambda { |site, page| param.any?{ |ext| page.output_path.end_with?(ext) } } else param end end end end end end
Version data entries
42 entries across 42 versions & 1 rubygems