Class: Snippr::Processor::Dynamics
- Inherits:
-
Object
- Object
- Snippr::Processor::Dynamics
- Defined in:
- lib/snippr/processor/dynamics.rb
Instance Method Summary collapse
Instance Method Details
#process(content, opts = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/snippr/processor/dynamics.rb', line 11 def process(content, opts = {}) opts.inject(content) do |c, pv| placeholder, value = pv c.gsub(/\{(!?)#{placeholder}(?:\.(.*?)\(["]?(.*?)["]?\))?\}/m) do |match| if $2 && (value.respond_to?($2) || $1 == "!") method = $2 params = ($3 || "").gsub(/[\t\r\n]/,"").split("\",\"") value.send(method, *params).to_s elsif $2 match else value.to_s end end end end |