Sha256: 3a049ea60e185e380150b92b69289490d2048989c8af82e2658f2aa646c7302f
Contents?: true
Size: 647 Bytes
Versions: 1
Compression:
Stored size: 647 Bytes
Contents
require "syllable_counter/version" require "syllable_counter/rules" module SyllableCounter class Calculate def initialize(rule_set = SyllableCounter::Rules::Rules.new) @rule_set = rule_set end def execute(string) count = 0 string.split.each do |word| if @rule_set.is_exception?(word) count += @rule_set.exceptions[word] else count += validate(@rule_set.execute(word).scan(/[aeiouy%]/).count) end end count end protected def validate(count) #all English words must have at least one syllable count == 0 ? 1 : count end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
syllable_counter-1.0.0 | lib/syllable_counter/calculate.rb |