class Gobstones::Runner::ExecutionContext
Public Class Methods
for_program(program)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 8 def self.for_program(program) ProgramExecutionContext.new(program) end
new()
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 12 def initialize @values = {} end
Public Instance Methods
clear(variable_name)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 24 def clear(variable_name) @values.delete(variable_name) end
get(variable_name)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 20 def get(variable_name) @values[variable_name] || undefined_variable_error(variable_name) end
has_variable_named?(name)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 28 def has_variable_named?(name) @values.keys.any? { |variable| variable.named?(name) } end
program_context()
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 32 def program_context subclass_responsibility end
set(variable_name, value)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 16 def set(variable_name, value) @values[variable_name] = value end
Protected Instance Methods
undefined_variable_error(variable_name)
click to toggle source
# File lib/gobstones/runner/execution_context.rb, line 38 def undefined_variable_error(variable_name) raise UndefinedVariableError.for(variable_name) end