def chaterism?
      words = self.gsub(/[^a-z\s]/i, '').split

      # Find the direction we're traveling
      flen, llen = words.first.length, words.last.length
      direction = flen > llen ? :downto : :upto
      
      # Compare the pattern of word lengths against a range-turned-array of expected word lengths
      words.map(&:length) == flen.send(direction, llen).to_a
    end
def chaterism?
      words = self.gsub(/[^a-z\s]/i, '').split

      # Find the direction we're traveling
      flen, llen = words.first.length, words.last.length
      direction = flen > llen ? :downto : :upto
      
      # Compare the pattern of word lengths against a range-turned-array of expected word lengths
      words.map(&:length) == flen.send(direction, llen).to_a
    end
Returns true if the string is a sequence of words in each of which is one letter larger than the
 previous, or each word in the sequence is one letter less than the previous