class Psychic::RegexpTokenHandler
Public Class Methods
new(template, token_pattern, token_replacement)
click to toggle source
# File lib/psychic/tokens.rb, line 5 def initialize(template, token_pattern, token_replacement) @template = template @token_pattern = token_pattern @token_replacement = token_replacement end
Public Instance Methods
render(variables = {})
click to toggle source
# File lib/psychic/tokens.rb, line 15 def render(variables = {}) @template.gsub(@token_pattern) do full_match = Regexp.last_match[0] key = Regexp.last_match[1] value = variables[key] value = @token_replacement.gsub('\\1', value.to_s) unless @token_replacement.nil? full_match.gsub(@token_pattern, value) end end
tokens()
click to toggle source
# File lib/psychic/tokens.rb, line 11 def tokens @template.scan(@token_pattern).flatten.uniq end