class Basic101::InputStatement

Public Class Methods

new(prompt, prompt_delimeter, references) click to toggle source
# File lib/basic101/input_statement.rb, line 9
def initialize(prompt, prompt_delimeter, references)
  @prompt = prompt
  @prompt_delimeter = prompt_delimeter
  @references = references
end

Public Instance Methods

execute(runtime) click to toggle source
# File lib/basic101/input_statement.rb, line 15
def execute(runtime)
  begin
    print_prompt(runtime)
    read_references(runtime)
  rescue InputError => e
    runtime.output.puts "#{e}, try again"
    retry
  end
end

Protected Instance Methods

print_prompt(runtime) click to toggle source
read_references(runtime) click to toggle source
# File lib/basic101/input_statement.rb, line 38
def read_references(runtime)
  input_reader = InputReader.new(runtime.input)
  @references.each do |reference|
    value = reference.input(input_reader)
    reference.assign(runtime, value)
  end
end
state() click to toggle source
# File lib/basic101/input_statement.rb, line 27
def state
  [@prompt, @prompt_delimeter, @references]
end