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