class Pathology::Template

Public Class Methods

new(pattern) click to toggle source
# File lib/pathology/template.rb, line 4
def initialize(pattern)
  @pattern = pattern
end

Public Instance Methods

interpolate(values) click to toggle source
# File lib/pathology/template.rb, line 8
def interpolate(values)
  sorted_values = values.sort_by{|token, replacement| token.length}.reverse

  sorted_values.reduce(@pattern) do |interpolated, value|
    token, replacement = *value
    interpolated.gsub(/:#{token}/, replacement.to_s)
  end
end