Sha256: 8c162b1caa0c412ded3f2030de29b39a3215eed1f80396b7d85c6e5207108efa

Contents?: true

Size: 539 Bytes

Versions: 20

Compression:

Stored size: 539 Bytes

Contents

class Bob
  def hey(drivel)
    answer Phrase.new(drivel)
  end

  def answer(phrase)
    case
    when phrase.silent?
      'Fine. Be that way!'
    when phrase.loud?
      'Whoa, chill out!'
    when phrase.quizzical?
      'Sure.'
    else
      'Whatever.'
    end
  end
end

class Phrase
  attr_reader :source
  def initialize(drivel)
    @source = drivel.to_s.strip
  end

  def quizzical?
    source.end_with?('?')
  end

  def loud?
    source =~ /[A-Z]/ && source.upcase == source
  end

  def silent?
    source.empty?
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
trackler-2.0.0.9 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.8 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.7 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.6 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.5 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.4 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.3 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.2 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.1 tracks/ruby/exercises/bob/example.rb
trackler-2.0.0.0 tracks/ruby/exercises/bob/example.rb
trackler-1.0.4.1 tracks/ruby/exercises/bob/example.rb
trackler-1.0.4.0 tracks/ruby/exercises/bob/example.rb
trackler-1.0.3.0 tracks/ruby/exercises/bob/example.rb
trackler-1.0.2.1 tracks/ruby/exercises/bob/example.rb
trackler-1.0.2.0 tracks/ruby/exercises/bob/example.rb
trackler-1.0.1.2 tracks/ruby/exercises/bob/example.rb
trackler-1.0.1.1 tracks/ruby/exercises/bob/example.rb
trackler-1.0.1.0 tracks/ruby/exercises/bob/example.rb
trackler-1.0.0.1 tracks/ruby/exercises/bob/example.rb
trackler-1.0.0 tracks/ruby/exercises/bob/example.rb