class Snippr::Processor::Block
Public Instance Methods
process(content, opts = {})
click to toggle source
# File lib/snippr/processor/block.rb, line 7 def process(content, opts = {}) opts.inject(content) do |c, pv| placeholder, value = pv c.gsub(/\{(.*)\((.*)\)\}(.*)\{\/\1\}/m) do |match| # match[0] = {a.b("1","2")} INNEN {/a.b} # match[1] = a.b # match[2] = "1","2" # match[3] = INNEN message = $1 signature = $2 block_quoted = $3.gsub("\"","\"").strip new_signature = [] new_signature << signature unless signature.empty? new_signature << block_quoted unless block_quoted.empty? "{#{message}(#{new_signature.map { |e| "\"#{e}\""}.join(',')})}" end end end