Class: Prettyrb::Nodes::RegexpNode
Constant Summary
collapse
- PERCENT_PAIRS =
{
"{" => "}",
"[" => "]",
"(" => ")",
"<" => ">",
}
StringHelper::HEREDOC_TYPE_REGEX
Instance Method Summary
collapse
#closing_delimiter, #heredoc?, #heredoc_body, #heredoc_identifier, #heredoc_type, #percent_character, #percent_string?
Methods inherited from BaseNode
#initialize, #parent, #string?
Instance Method Details
#end_delimiter ⇒ Object
25
26
27
|
# File 'lib/prettyrb/nodes/regexp_node.rb', line 25
def end_delimiter
PERCENT_PAIRS.fetch(start_delimiter, start_delimiter)
end
|
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/prettyrb/nodes/regexp_node.rb', line 29
def format
raw_content = loc.expression.source
content = raw_content[1...-1]
if raw_content[0] == "'"
content.gsub('"', '\\"').gsub('#{', '\\#{')
else
content.gsub("\\", "\\\\")
end
end
|
#percent? ⇒ Boolean
13
14
15
|
# File 'lib/prettyrb/nodes/regexp_node.rb', line 13
def percent?
loc.expression.source.start_with?("%")
end
|
#percent_type ⇒ Object
17
18
19
|
# File 'lib/prettyrb/nodes/regexp_node.rb', line 17
def percent_type
loc.expression.source[1]
end
|
#start_delimiter ⇒ Object
21
22
23
|
# File 'lib/prettyrb/nodes/regexp_node.rb', line 21
def start_delimiter
loc.expression.source[2]
end
|