class PactBroker::Webhooks::Render

Constants

DEFAULT_ESCAPER
TEMPLATE_PARAMETER_REGEXP

Public Class Methods

call(template, params, &escaper) click to toggle source
# File lib/pact_broker/webhooks/render.rb, line 17
def self.call(template, params, &escaper)
  render_template(escape_params(params, escaper || DEFAULT_ESCAPER), template)
end
escape_params(params, escaper) click to toggle source
# File lib/pact_broker/webhooks/render.rb, line 28
def self.escape_params(params, escaper)
  params.keys.each_with_object({}) do | key, new_params |
    new_params[key] = escaper.call(params[key])
  end
end
includes_parameter?(value) click to toggle source
# File lib/pact_broker/webhooks/render.rb, line 9
def self.includes_parameter?(value)
  value =~ TEMPLATE_PARAMETER_REGEXP
end
render_template(params, template) click to toggle source
# File lib/pact_broker/webhooks/render.rb, line 22
def self.render_template(params, template)
  params.inject(template) do | agg, (key, value) |
    agg.gsub("${#{key}}", value)
  end
end
render_with_placeholder(value, placeholder = "placeholder") click to toggle source
# File lib/pact_broker/webhooks/render.rb, line 13
def self.render_with_placeholder(value, placeholder = "placeholder")
  value.gsub(TEMPLATE_PARAMETER_REGEXP, placeholder)
end