Class: CodeRay::Scanners::Ruby::Patterns::StringState

Inherits:
Struct
  • Object
show all
Defined in:
vendor/plugins/coderay-0.9.2/lib/coderay/scanners/ruby/patterns.rb

Constant Summary

CLOSING_PAREN =
Hash[ *%w[
  ( )
  [ ]
  < >
  { }
] ]
OPENING_PAREN =
CLOSING_PAREN.invert
STRING_PATTERN =
Hash.new do
HEREDOC_PATTERN =
Hash.new do

Instance Method Summary

Constructor Details

- (StringState) initialize(kind, interpreted, delim, heredoc = false)

A new instance of StringState



220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'vendor/plugins/coderay-0.9.2/lib/coderay/scanners/ruby/patterns.rb', line 220

def initialize kind, interpreted, delim, heredoc = false
  if heredoc
    pattern = HEREDOC_PATTERN[ [delim, interpreted, heredoc == :indented] ]
    delim = nil
  else
    pattern = STRING_PATTERN[ [delim, interpreted] ]
    if paren = CLOSING_PAREN[delim]
      delim, paren = paren, delim
      paren_depth = 1
    end
  end
  super kind, interpreted, delim, heredoc, paren, paren_depth, pattern, :initial
end