Design By Contract in Ruby