class String

Public Instance Methods

escape() click to toggle source
# File lib/gibier/renderer.rb, line 6
def escape
  "\"#{self.gsub(/\"/, "\\\"").gsub(/\\/, "\\\\")}\""
end
expand_tag() click to toggle source
# File lib/gibier/renderer.rb, line 10
def expand_tag
  str = self.gsub(/<br>\n/, '<br></br>')
  m = /\A(?<head>.*?)(?<body><(?<tag>\w+)( (?<attrs>{(\w+:.+?)(, \w:.+?)*}))?>(?<inner>.*?)<\/\k<tag>>)(?<tail>.*?)\z/.match(str)
  if m
    arr = []
    arr << m[:head].escape unless m[:head].empty?
    arr << "#{m[:tag]}(#{m[:attrs] || "nil"}, #{m[:inner].expand_tag})" unless m[:body].empty?
    arr << m[:tail].expand_tag unless m[:tail].empty?
    arr.join(',')
  else
    self.escape
  end
end