Class: Pascoale::Reflector
- Inherits:
-
Object
- Object
- Pascoale::Reflector
- Includes:
- Constants
- Defined in:
- lib/pascoale/reflector.rb
Constant Summary
Constants included from Constants
Constants::ACCENTED, Constants::AS, Constants::CONSONANTS, Constants::ES, Constants::IS, Constants::LETTERS, Constants::NOT_ACCENTED, Constants::OS, Constants::SEMIVOWELS, Constants::US, Constants::VOWELS, Constants::YS
Instance Method Summary collapse
-
#initialize(text) ⇒ Reflector
constructor
A new instance of Reflector.
-
#oxytone? ⇒ Boolean
Accends or specific terminators.
-
#paroxytone? ⇒ Boolean
Most common case in portuguese.
-
#proparoxytone? ⇒ Boolean
ALWAYS have accents.
Constructor Details
#initialize(text) ⇒ Reflector
Returns a new instance of Reflector.
5 6 7 |
# File 'lib/pascoale/reflector.rb', line 5 def initialize(text) @text = text end |
Instance Method Details
#oxytone? ⇒ Boolean
Accends or specific terminators
22 23 24 25 26 27 |
# File 'lib/pascoale/reflector.rb', line 22 def oxytone? syllables = SyllableSeparator.new(@text).separate return true if syllables.size == 1 return true if syllables[-1] =~ /[#{ACCENTED}]/ syllables[-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? ⇒ Boolean
Most common case in portuguese
17 18 19 |
# File 'lib/pascoale/reflector.rb', line 17 def paroxytone? !proparoxytone? && !oxytone? end |
#proparoxytone? ⇒ Boolean
ALWAYS have accents
10 11 12 13 14 |
# File 'lib/pascoale/reflector.rb', line 10 def proparoxytone? syllables = SyllableSeparator.new(@text).separate return false if syllables.size < 3 syllables[-3] =~ /[#{ACCENTED}]/ end |