Sha256: 7a690d37cc1a057800f2ffb104a3542811a252ea2d7a7e2eb5766e9eb2b02c2a
Contents?: true
Size: 640 Bytes
Versions: 22
Compression:
Stored size: 640 Bytes
Contents
require 'strscan' module Kuroko2 module Workflow class ShellScanner STRING_LITERAL = /("([^"]|\")*"|'([^']|\')*')/ def initialize(text) @text = text end def strip_comment return @text if @text.nil? result = '' while scanner.rest? break if scanner.peek(1) == '#' token = scanner.scan(/[^'"#]+/) || scanner.scan(STRING_LITERAL) || scanner.scan(/[^#]+/) break if token.nil? result << token end result end private def scanner @scanner ||= StringScanner.new(@text) end end end end
Version data entries
22 entries across 22 versions & 1 rubygems