class Tryruby::Challenge

Single tutorial challenge

Attributes

display_setup[R]
help[R]

Public Class Methods

new(help, test = nil, setup = nil, display_setup = false) click to toggle source
# File lib/tryruby/challenge.rb, line 8
def initialize(help, test = nil, setup = nil, display_setup = false)
  @help, @test, @setup, @display_setup = help, test, setup, display_setup
end

Public Instance Methods

setup(repl, vars) click to toggle source
# File lib/tryruby/challenge.rb, line 16
def setup(repl, vars)
  repl.instance_exec(vars, &@setup) if @setup
end
setup_source() click to toggle source

Challenge setup as text

# File lib/tryruby/challenge.rb, line 21
def setup_source
  return '' unless @setup
  vars_name = @setup.parameters[0][1]
  source = @setup.to_source(strip_enclosure: true)
  source.gsub(/#{vars_name}\[:([^\]]+)\]/, '\1')
end
test(repl, result, vars, output) click to toggle source
# File lib/tryruby/challenge.rb, line 12
def test(repl, result, vars, output)
  repl.instance_exec(result, vars, output, &@test) if @test
end