Sha256: 117de4f6d8e1cb82d445731b8a8c3a010743e0c2d3db993956782fcb135274f4

Contents?: true

Size: 594 Bytes

Versions: 176

Compression:

Stored size: 594 Bytes

Contents

module BookKeeping
  VERSION = 1
end

module 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

Bob.extend Bob

Version data entries

176 entries across 176 versions & 1 rubygems

Version Path
trackler-2.2.1.147 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.146 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.145 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.144 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.143 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.142 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.141 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.140 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.139 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.138 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.137 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.136 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.135 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.134 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.133 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.132 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.131 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.130 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.129 tracks/ruby/exercises/bob/.meta/solutions/bob.rb
trackler-2.2.1.128 tracks/ruby/exercises/bob/.meta/solutions/bob.rb