Class: Eceval::Chunk

Inherits:
Object
  • Object
show all
Defined in:
lib/eceval.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename:, lineno:) ⇒ Chunk

Returns a new instance of Chunk.



123
124
125
126
127
# File 'lib/eceval.rb', line 123

def initialize(filename:, lineno:)
  @filename = filename
  @lineno = lineno
  @buffered_lines = []
end

Instance Attribute Details

#filenameObject (readonly)

Returns the value of attribute filename.



121
122
123
# File 'lib/eceval.rb', line 121

def filename
  @filename
end

#linenoObject (readonly)

Returns the value of attribute lineno.



121
122
123
# File 'lib/eceval.rb', line 121

def lineno
  @lineno
end

Instance Method Details

#<<(line) ⇒ Object



129
130
131
# File 'lib/eceval.rb', line 129

def <<(line)
  @buffered_lines << line
end

#evaluateObject



133
134
135
# File 'lib/eceval.rb', line 133

def evaluate
  ECEVAL_MAIN_BINDING.eval(@buffered_lines.join("\n"), filename, lineno)
end