3702411043
had to change course, normalising and object creation is not possible in one go have to now generate random tmp vars that will have to be picked up later (sorted by tmp_ prefix?)
40 lines
644 B
Ruby
40 lines
644 B
Ruby
module Common
|
|
#extracted to resuse
|
|
module Statements
|
|
attr_reader :statements
|
|
def initialize(statements)
|
|
@statements = statements
|
|
end
|
|
|
|
def empty?
|
|
@statements.empty?
|
|
end
|
|
def single?
|
|
@statements.length == 1
|
|
end
|
|
def first
|
|
@statements.first
|
|
end
|
|
def last
|
|
@statements.last
|
|
end
|
|
def length
|
|
@statements.length
|
|
end
|
|
def [](i)
|
|
@statements[i]
|
|
end
|
|
def <<(o)
|
|
@statements << o
|
|
self
|
|
end
|
|
def collect(arr)
|
|
@statements.each { |s| s.collect(arr) }
|
|
super
|
|
end
|
|
def add_array(a)
|
|
@statements += a
|
|
end
|
|
end
|
|
end
|