News Videos

Solve a Tricky Ruby Problem and Win a Prize!

Hello everyone,

You know that annoying feeling when you have crutches in your code and can’t seem to find a better solution, don’t you? Well, this is it. We faced a tricky Ruby problem: UTF-8 regular expressions fail when working with non UTF-8 strings. We’ve tried to solve it and improve this chunk of code, but to no avail. We were really stumped. And then we realized this problem could be a good task for a Ruby contest!

So, we’ve prepared the github project with the simple method:

module RegexpM17N
 def self.non_empty?(str)
   str =~ /^.+$/
 end
end

and the test that now fails:

# encoding: utf-8
require 'minitest/autorun'
require_relative '../lib/regexp_m17n'

class RegexpTest < MiniTest::Unit::TestCase
  def test_non_empty_string
    Encoding.list.each do |enc|
      assert(RegexpM17N.non_empty?('.'.encode(enc)))
    end
  end
end

The task is to change the method so the test passes. Do you have any idea how this can be done?

Friday is always a good day to escape from everyday routine and code for your own pleasure. Rise up to the challenge and enter the contest! Just make the test pass and send your pull request before August 10. We have already prepared a nice prize for the best solution:

prize

Learn more on our special webpage or watch this short demo with the instructions.


Have a happy friday!
JetBrains RubyMine Team

image description