Everything seems to be working fine except the commented line:
#return false if not s[0].upcase =~ /AZ/
and the fourth check.
What is t
It's easy with regex:
def starts_with_consonant?(s) !!(s =~ /^[bcdfghjklmnpqrstvwxyz]/i) end
This matches the first character of the string with the set of consonants. The !! forces the output to true/false.
!!