class Pascoale::Reflector
Public Class Methods
new(text)
click to toggle source
# File lib/pascoale/reflector.rb, line 6 def initialize(text) @text = text end
Public Instance Methods
oxytone?()
click to toggle source
Accents or specific terminators
# File lib/pascoale/reflector.rb, line 22 def oxytone? return true if separated.size == 1 return true if separated[-1] =~ /[#{ACCENTED}]/ return false if separated[-2] =~ /[#{ACCENTED}]/ return false if separated[-3] =~ /[#{ACCENTED}]/ separated[-1] =~ /(is?|im|ins?|us?|um|uns?|l|n|r|x|ps|ãs?|ãos?|ons?|ais?|eis?|ois?|aus?|eus?|ous?|ias?|ies?|ios?|uas?|ues?|uos?)$/ end
paroxytone?()
click to toggle source
Most common case in portuguese
# File lib/pascoale/reflector.rb, line 17 def paroxytone? !proparoxytone? && !oxytone? end
proparoxytone?()
click to toggle source
ALWAYS have accents
# File lib/pascoale/reflector.rb, line 11 def proparoxytone? return false if separated.size < 3 separated[-3] =~ /[#{ACCENTED}]/ end
syllable_index()
click to toggle source
# File lib/pascoale/reflector.rb, line 30 def syllable_index return -1 if oxytone? return -2 if paroxytone? return -3 if proparoxytone? # Shoud never happen because defaut is paroxytone raise "Can't understand word" end
Private Instance Methods
separated()
click to toggle source
# File lib/pascoale/reflector.rb, line 40 def separated @separated ||= SyllableSeparator.new(@text).separate end