class Awestruct::Extensions::Gsub

Public Class Methods

new(pattern, replacement, options = {}) click to toggle source
# File lib/awestruct/extensions/gsub.rb, line 5
def initialize(pattern, replacement, options = {})
  @pattern = pattern
  @replacement = replacement.is_a?(Proc) ? replacement : lambda { |site, page| replacement }
  @gsub_required = lambdaize(options[:gsub_required])
end

Public Instance Methods

transform(site, page, rendered) click to toggle source
# File lib/awestruct/extensions/gsub.rb, line 11
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 Instance Methods

lambdaize(param) click to toggle source
# File lib/awestruct/extensions/gsub.rb, line 21
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