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

Methods

new  

Constants

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

Public Class methods

[Source]

     # 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

[Validate]