summaryrefslogtreecommitdiff
path: root/tool/serb.rb
blob: edba8966c70d47a9f8c11293847afa5b4839beb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def serb(str, var)
  result = ''
  str.each_line {|line|
    if /\A!/ =~ line
      result << $'
    else
      line.split(/(<%.*?%>)/).each {|x|
        if /\A<%(.*)%>\z/ =~ x
          result << "#{var} << (#{$1}).to_s\n"
        else
          result << "#{var} << #{x.dump}\n"
        end
      }
    end
  }
  result
end