Class: SyllableCounter::Calculate

Inherits:
Object
  • Object
show all
Defined in:
lib/syllable_counter/calculate.rb

Instance Method Summary collapse

Constructor Details

#initialize(rule_set = SyllableCounter::Rules::Rules.new) ⇒ Calculate

Returns a new instance of Calculate.



6
7
8
# File 'lib/syllable_counter/calculate.rb', line 6

def initialize(rule_set = SyllableCounter::Rules::Rules.new)
  @rule_set = rule_set
end

Instance Method Details

#execute(string) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/syllable_counter/calculate.rb', line 10

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