module Mova::Interpolation::Sprintf::Overridable
Public Instance Methods
missing_placeholder(placeholder, values)
click to toggle source
@return [String] default replacement for missing placeholder @param placeholder [Symbol] @param values [Hash{Symbol => String}] all given values for interpolation
@example Wrap missing placeholders in HTML tag
interpolator = Mova::Interpolation::Sprintf.new.tap do |i| def i.missing_placeholder(placeholder, values) "<span class='error'>#{placeholder}<span>" end end interpolator.call("%{my} %{notes}", my: "your") #=> "your <span class='error'>notes</span>"
@example Raise an exception in case of missing placeholder
interpolator = Mova::Interpolation::Sprintf.new.tap do |i| def i.missing_placeholder(placeholder, values) raise KeyError.new("#{placeholder.inspect} is missing, #{values.inspect} given") end end interpolator.call("%{my} %{notes}", my: "your") #=> KeyError: :notes is missing, {my: "your"} given
# File lib/mova/interpolation/sprintf.rb, line 66 def missing_placeholder(placeholder, values) "%{#{placeholder}}" end