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