| Class | CodeRay::Scanners::Ruby::Patterns::StringState |
| In: |
lib/coderay/scanners/ruby/patterns.rb
|
| Parent: | Struct.new :type, :interpreted, :delim, :heredoc, :paren, :paren_depth, :pattern, :next_state |
| CLOSING_PAREN | = | Hash[ *%w[ ( ) [ ] < > { } ] ] |
| OPENING_PAREN | = | CLOSING_PAREN.invert |
| STRING_PATTERN | = | Hash.new { |h, k| delim, interpreted = *k |
| HEREDOC_PATTERN | = | Hash.new { |h, k| delim, interpreted, indented = *k |
# File lib/coderay/scanners/ruby/patterns.rb, line 214
214: def initialize kind, interpreted, delim, heredoc = false
215: if heredoc
216: pattern = HEREDOC_PATTERN[ [delim, interpreted, heredoc == :indented] ]
217: delim = nil
218: else
219: pattern = STRING_PATTERN[ [delim, interpreted] ]
220: if paren = CLOSING_PAREN[delim]
221: delim, paren = paren, delim
222: paren_depth = 1
223: end
224: end
225: super kind, interpreted, delim, heredoc, paren, paren_depth, pattern, :initial
226: end