module Wordz::PostProcessor
Constants
- NO_SPACE_BEFORE
- POST_PROCESSED_PHRASES
Private Instance Methods
indefinite_article(phrase_list, i)
click to toggle source
# File lib/wordz/post_processor.rb, line 14 def indefinite_article(phrase_list, i) next_phrase = phrase_list[i + 1] vowel_initial?(next_phrase) ? "an" : "a" end
post_process(phrase_list)
click to toggle source
# File lib/wordz/post_processor.rb, line 10 def post_process(phrase_list) sentence_join(replace_ppps(phrase_list)) end
replace_ppps(phrase_list)
click to toggle source
# File lib/wordz/post_processor.rb, line 19 def replace_ppps(phrase_list) phrase_list.each_with_index.map do |phrase, i| method_name = POST_PROCESSED_PHRASES[phrase] method_name ? send(method_name, phrase_list, i) : phrase end end
sentence_join(phrase_list)
click to toggle source
# File lib/wordz/post_processor.rb, line 26 def sentence_join(phrase_list) phrase_list.reduce("") do |accum_text, phrase| prefix = NO_SPACE_BEFORE.include?(phrase) ? "" : " " accum_text << (prefix + phrase) end.strip.squeeze(" ") end
vowel_initial?(str)
click to toggle source
# File lib/wordz/post_processor.rb, line 33 def vowel_initial?(str) str[0] =~ /[aeiou]/i end