Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Ruby Ruby Blocks Working With Blocks Block Method Practice: Custom Classes

Jonathan Walz
Jonathan Walz
21,429 Points

I don't understand why this isn't running

This code runs fine in workspaces but doesn't when running inside the challenge window.

It says "It looks like Task 1 is no longer passing."

Help!

simple_benchmarker.rb
class SimpleBenchmarker
  def run(description, &block)
    start_time = Time.now
    block.call
    end_time = Time.now
    elapsed = end_time - start_time

    puts "\n#{description} results"
    puts "Elapsed time: #{elapsed} seconds"
  end
end

benchmarker = SimpleBenchmarker.new
benchmarker.run do
  5.times do 
    print "."
    sleep(rand(0.1..1.0))
  end
end

2 Answers

Hi Jonathan,

The question expects you to have string of the description (first argument) inside block, that's why you haven't add it yet.

See example:

benchmarker = SimpleBenchmarker.new

#add any string you like to add before block
benchmarker.run "description" do
  5.times do 
    print "."
    sleep(rand(0.1..1.0))
  end
end

Hope that helps.

Jonathan Walz
Jonathan Walz
21,429 Points

This worked. Thank you. The error message was confusing since it wasn't the actual problem.

Yeah, I agree with you, it should said "string is missing inside the block" instead going back to task 1. :pensive:

If that helps your question, please kindly mark best answer to let others know about this solution and prevent them repeating mistakes.