fonemas 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/fonemas/version.rb +1 -1
- data/lib/fonemas.rb +16 -2
- data/spec/fonemas/fonema_spec.rb +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2FjNzFmNThmNGE4NmEyNzExOTM5MDU5NTE5NzVlN2FkOTE4YWJjYg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Y2ZmNDMzNmRkN2ZjZjc4NTgyMThkOTk3MDcyNzNiMzUyODY0M2NjZg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzFkNmU3NmZiYWM1MzhlNmUzMzlkMTViMzQzY2YyM2Y2ZmQ5NTI2NjNhMjZj
|
10
|
+
NTYwYWNmODBlYzI5NzZiNTk0OTJmNzk1N2M2YmYxMWI4Y2ZiNmRjOTY2MzI5
|
11
|
+
NGMyYmExODA5ZGRkN2VkMWE2NzFkYWRjZmEwYzg0MzJjNzJmMDk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Yzk3ZDhiNDYxZWU2NGI4MWJhZWE0MTg5NmI0YjY1OGYyMTViOWUwNzQ5MGZm
|
14
|
+
ZDZmOTUzZjk3ZWQ5ODQ1YWY0NjEyNzQzYTMzZTBiMjgzNDc4Y2M1NjZkNzlj
|
15
|
+
NWY1MzZlOGQ1ZjA0YzE0Nzc2YzlkOGIxODRhYTNiYTEzZGVlZGY=
|
data/lib/fonemas/version.rb
CHANGED
data/lib/fonemas.rb
CHANGED
@@ -16,6 +16,17 @@ module Fonemas
|
|
16
16
|
return s
|
17
17
|
end
|
18
18
|
|
19
|
+
def self.lastVocal(word,from)
|
20
|
+
for i in 1..from
|
21
|
+
#puts i
|
22
|
+
#puts word[from-i]
|
23
|
+
if word[from-i] =~ /[aeiou]/
|
24
|
+
return word[from-i]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
return false
|
28
|
+
end
|
29
|
+
|
19
30
|
def self.isTonica(word,i)
|
20
31
|
#falta considerar las palabras que poseen acento pero no tilde
|
21
32
|
tildes = %w(á é í ó ú)
|
@@ -25,6 +36,7 @@ module Fonemas
|
|
25
36
|
else
|
26
37
|
es = Text::Hyphen.new(:language => "es", :left => 0, :right => 1)
|
27
38
|
p = es.hyphenate(w)
|
39
|
+
#puts es.visualize(w)
|
28
40
|
hh = es.visualize(w).split("-")
|
29
41
|
if word =~ /áéíóú/
|
30
42
|
#acento ya existe en otra silaba
|
@@ -38,20 +50,22 @@ module Fonemas
|
|
38
50
|
if w =~ /[nsaeiou]$/
|
39
51
|
#termina en n s y vocal y no tiene tilde
|
40
52
|
#por lo tanto es grave
|
41
|
-
|
53
|
+
# puts "#{lastVocal(w,p[0])} == #{word[i]} #{word[i].class.name}"
|
54
|
+
if i < p[0] and lastVocal(w,p[0]) == word[i]
|
42
55
|
return true
|
43
56
|
else
|
44
57
|
return false
|
45
58
|
end
|
46
59
|
end
|
47
60
|
elsif hh.size >= 3
|
61
|
+
#puts hh.join("-")
|
48
62
|
if i > p[p.size-1]
|
49
63
|
if w =~ /[nsaeiou]$/
|
50
64
|
return false
|
51
65
|
else
|
52
66
|
return true
|
53
67
|
end
|
54
|
-
elsif i > p[p.size-2] and w =~ /[nsaeiou]$/
|
68
|
+
elsif i > p[p.size-2] and i <= p[p.size-1] and w =~ /[nsaeiou]$/
|
55
69
|
return true
|
56
70
|
else
|
57
71
|
return false
|
data/spec/fonemas/fonema_spec.rb
CHANGED
@@ -5,6 +5,8 @@ describe Fonemas do
|
|
5
5
|
Fonemas.fonemas('hasta')[0].should eql("aa s t a")
|
6
6
|
Fonemas.fonemas('torta')[0].should eql("t oo r t a")
|
7
7
|
Fonemas.fonemas('ungüento')[0].should eql("u n g u ee n t o")
|
8
|
+
Fonemas.fonemas('abuela').should include('a g u ee l a')
|
9
|
+
|
8
10
|
for i in Fonemas.fonemas('adskribir')
|
9
11
|
i.should end_with('ii r')
|
10
12
|
end
|