Sha256: 1ca97676b1e47752cebb17a48d97221fa7dd06d82f15c24b530c7a1e480b6522

Contents?: true

Size: 704 Bytes

Versions: 1

Compression:

Stored size: 704 Bytes

Contents

require "syllable_counter/version"

module SyllableCounter
  class << self
    def get_syllables(string)
      words = string.split()
      count = 0
      words.each do |word|
      if word =~ /e$/
        if word =~ /[aeiouy][lr]e$/ || word =~ /[^lr]e$/
          word.sub!(/e$/,"")
        end
      end
      word =~ /[^td]ed$/ ? word.sub!(/ed$/,"") : word
      word =~ /(s||z||sh||dg||[aeiouy]g||ch)es$/ ? word.sub!(/ed$/,"") : word
      word =~ /[aeiouy][aeiouy]/ ? word.sub!(/[aeiouy][aeiouy]/,"a") : word
      vowel_count = word.scan(/[aeiouy]/).count
      if vowel_count == 0
        vowel_count = 1
      end
      count = count + vowel_count
      end
      return count
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
syllable_counter-0.0.1 lib/syllable_counter.rb