Sha256: 939459aef22528dd7cc81cd275b893fe08ebf60d6d7a4a7113f9e31a19765207

Contents?: true

Size: 521 Bytes

Versions: 396

Compression:

Stored size: 521 Bytes

Contents

class Bob
  def self.hey(string : String)
    case
    when self.silence?(string)
      "Fine. Be that way!"
    when self.shouting?(string)
      "Whoa, chill out!"
    when self.question?(string)
      "Sure."
    else
      "Whatever."
    end
  end

  :private

  def self.silence?(string : String)
    string.gsub(/\s+/, "").empty?
  end

  def self.shouting?(string : String)
    string == string.upcase && string =~ /[A-Z]/
  end

  def self.question?(string : String)
    string[string.size - 1] == '?'
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.179 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.178 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.177 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.176 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.175 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.174 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.173 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.172 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.171 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.170 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.169 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.167 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.166 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.165 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.164 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.163 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.162 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.161 tracks/crystal/exercises/bob/src/example.cr
trackler-2.2.1.160 tracks/crystal/exercises/bob/src/example.cr