Top Level Namespace
Defined Under Namespace
Modules: Siatra
Instance Method Summary collapse
Instance Method Details
#Siatra(code) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/siatra.rb', line 15 def Siatra(code) s = StringScanner.new(code) memo = [] is = {shebanged: false} until s.eos? case when !is[:shebanged] && s.scan(/^#!.*\n/) memo << s[0] is[:shebanged] = true when s.scan(/\r?\n/m) memo << ';' when s.scan(/./) memo << s[0] else raise 'must not happen' end end memo.join end |