Sha256: 6259e1cdd4ac6db686e032a7684e385b6b1a459caf5d8e7bd16f27fb7ecb7b50
Contents?: true
Size: 697 Bytes
Versions: 1
Compression:
Stored size: 697 Bytes
Contents
module Faml module RubyMultiline def self.read(line_parser, current_text) buf = [] while is_ruby_multiline?(current_text) current_text = line_parser.next_line buf << current_text end buf.join("\n") end # `text' is a Ruby multiline block if it: # - ends with a comma # - but not "?," which is a character literal # (however, "x?," is a method call and not a literal) # - and not "?\," which is a character literal def self.is_ruby_multiline?(text) text && text.length > 1 && text[-1] == ?, && !((text[-3, 2] =~ /\W\?/) || text[-3, 2] == "?\\") end private_class_method :is_ruby_multiline? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
faml-0.2.9 | lib/faml/ruby_multiline.rb |