Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/gibier/renderer.rb

Instance Method Summary collapse

Instance Method Details

#escapeObject



6
7
8
# File 'lib/gibier/renderer.rb', line 6

def escape
  "\"#{self.gsub(/\"/, "\\\"").gsub(/\\/, "\\\\")}\""
end

#expand_tagObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/gibier/renderer.rb', line 10

def expand_tag
  m = /\A(?<head>.*?)(?<body><(?<tag>\w+)( (?<attrs>{(\w+:.+?)(, \w:.+?)*}))?>(?<inner>.*?)<\/\k<tag>>)(?<tail>.*?)\z/.match(self)
  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