ffaker 2.20.0 → 2.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +21 -0
  3. data/README.md +15 -4
  4. data/REFERENCE.md +1423 -1396
  5. data/Rakefile +9 -40
  6. data/bin/console +9 -0
  7. data/ffaker.gemspec +9 -19
  8. data/lib/ffaker/address_br.rb +14 -2
  9. data/lib/ffaker/address_it.rb +0 -1
  10. data/lib/ffaker/address_ua.rb +1 -1
  11. data/lib/ffaker/animal_br.rb +12 -0
  12. data/lib/ffaker/book.rb +5 -5
  13. data/lib/ffaker/code.rb +1 -1
  14. data/lib/ffaker/company.rb +4 -7
  15. data/lib/ffaker/company_fr.rb +1 -1
  16. data/lib/ffaker/data/address_br/complement +3 -0
  17. data/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
  18. data/lib/ffaker/data/address_de/state +1 -0
  19. data/lib/ffaker/data/animal_br/common_names +423 -0
  20. data/lib/ffaker/data/jo_jo/first_names +356 -0
  21. data/lib/ffaker/data/jo_jo/full_names +225 -0
  22. data/lib/ffaker/data/jo_jo/last_names +153 -0
  23. data/lib/ffaker/data/jo_jo/stands +149 -0
  24. data/lib/ffaker/date.rb +31 -0
  25. data/lib/ffaker/geolocation.rb +2 -2
  26. data/lib/ffaker/html_ipsum.rb +7 -1
  27. data/lib/ffaker/identification_br.rb +1 -1
  28. data/lib/ffaker/identification_ec.rb +39 -0
  29. data/lib/ffaker/identification_es_cl.rb +2 -2
  30. data/lib/ffaker/identification_es_co.rb +1 -1
  31. data/lib/ffaker/identification_kr.rb +3 -3
  32. data/lib/ffaker/identification_pl.rb +4 -4
  33. data/lib/ffaker/identification_tw.rb +4 -3
  34. data/lib/ffaker/jo_jo.rb +24 -0
  35. data/lib/ffaker/name_pl.rb +1 -1
  36. data/lib/ffaker/number.rb +2 -2
  37. data/lib/ffaker/ssn_se.rb +2 -2
  38. data/lib/ffaker/string.rb +7 -7
  39. data/lib/ffaker/time.rb +4 -4
  40. data/lib/ffaker/utils/module_utils.rb +4 -5
  41. data/lib/ffaker/utils/unique_utils.rb +30 -21
  42. data/lib/ffaker/vehicle.rb +63 -1
  43. data/lib/{version.rb → ffaker/version.rb} +1 -1
  44. data/lib/ffaker.rb +8 -4
  45. data/scripts/reference.rb +15 -13
  46. data/test/helper.rb +2 -4
  47. data/test/test_address_br.rb +15 -2
  48. data/test/test_address_da.rb +3 -3
  49. data/test/test_address_fi.rb +2 -2
  50. data/test/test_address_se.rb +2 -2
  51. data/test/test_animal_br.rb +17 -0
  52. data/test/test_cheesy_lingo.rb +1 -1
  53. data/test/test_color.rb +3 -3
  54. data/test/test_date.rb +37 -0
  55. data/test/test_filesystem.rb +3 -3
  56. data/test/test_freedom_ipsum.rb +1 -1
  57. data/test/test_gender_it.rb +1 -1
  58. data/test/test_gender_ja.rb +1 -1
  59. data/test/test_gender_jp.rb +1 -1
  60. data/test/test_gender_pl.rb +1 -1
  61. data/test/test_healthcare_ru.rb +1 -1
  62. data/test/test_hipster_ipsum.rb +1 -1
  63. data/test/test_html_ipsum.rb +6 -0
  64. data/test/test_identification_ec.rb +33 -0
  65. data/test/test_identification_es_mx.rb +1 -1
  66. data/test/test_internet_se.rb +2 -1
  67. data/test/test_jo_jo.rb +29 -0
  68. data/test/test_lorem_br.rb +1 -1
  69. data/test/test_lorem_cn.rb +3 -3
  70. data/test/test_lorem_fr.rb +3 -3
  71. data/test/test_lorem_ie.rb +2 -2
  72. data/test/test_lorem_kr.rb +3 -3
  73. data/test/test_lorem_pl.rb +2 -2
  74. data/test/test_lorem_ru.rb +3 -3
  75. data/test/test_lorem_ua.rb +3 -3
  76. data/test/test_module_utils.rb +33 -0
  77. data/test/test_name_da.rb +1 -1
  78. data/test/test_name_ph.rb +1 -1
  79. data/test/test_name_ru.rb +2 -2
  80. data/test/test_name_ua.rb +2 -2
  81. data/test/test_phone_number_se.rb +1 -1
  82. data/test/test_phone_number_sg.rb +8 -8
  83. data/test/test_unique_utils.rb +25 -5
  84. data/test/test_vehicle.rb +28 -1
  85. metadata +24 -197
data/Rakefile CHANGED
@@ -34,7 +34,7 @@ def name
34
34
  end
35
35
 
36
36
  def version
37
- line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
37
+ line = File.read("lib/#{name}/version.rb")[/^\s*VERSION\s*=\s*.*/]
38
38
  line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
39
39
  end
40
40
 
@@ -50,10 +50,6 @@ def gem_file
50
50
  "#{name}-#{version}.gem"
51
51
  end
52
52
 
53
- def replace_header(head, header_name)
54
- head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{Regexp.last_match(1)}#{send(header_name)}'" }
55
- end
56
-
57
53
  #############################################################################
58
54
  #
59
55
  # Standard tasks
@@ -102,51 +98,24 @@ task release: :build do
102
98
  sh "gem push pkg/#{name}-#{version}.gem"
103
99
  end
104
100
 
105
- task build: %i[gemspec reference] do
101
+ task build: %i[validate reference] do
106
102
  sh 'mkdir -p pkg'
107
- sh "gem build #{gemspec_file}"
108
- sh "mv #{gem_file} pkg"
109
- end
110
-
111
- task gemspec: :validate do
112
- # read spec file and split out manifest section
113
- spec = File.read(gemspec_file)
114
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
115
-
116
- # replace name version and date
117
- replace_header(head, :name)
118
- replace_header(head, :version)
119
- replace_header(head, :date)
120
-
121
- # determine file list from git ls-files
122
- files = `git ls-files`
123
- .split("\n")
124
- .sort
125
- .reject { |file| file =~ /^\./ }
126
- .reject { |file| file =~ /^(rdoc|pkg)/ }
127
- .map { |file| " #{file}" }
128
- .join("\n")
129
-
130
- # piece file back together and write
131
- manifest = " s.files = %w[\n#{files}\n ]\n"
132
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
133
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
134
- puts "Updated #{gemspec_file}"
103
+ sh "gem build #{gemspec_file} --output=pkg/#{gem_file}"
135
104
  end
136
105
 
137
106
  task :validate do
138
107
  libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
139
108
  unless libfiles.empty?
140
- puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
141
- exit!
142
- end
143
- unless Dir['VERSION*'].empty?
144
- puts 'A `VERSION` file at root level violates Gem best practices.'
109
+ puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir. Found:"
110
+ libfiles.each do |libfile|
111
+ puts "- #{libfile}"
112
+ end
113
+
145
114
  exit!
146
115
  end
147
116
  end
148
117
 
149
118
  desc 'Creates REFERENCE.md'
150
119
  task :reference do
151
- system 'ruby ./scripts/reference.rb > REFERENCE.md'
120
+ system 'ruby -Ilib ./scripts/reference.rb > REFERENCE.md'
152
121
  end
data/bin/console ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'irb'
6
+
7
+ require_relative '../lib/ffaker'
8
+
9
+ IRB.start
data/ffaker.gemspec CHANGED
@@ -1,15 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/version'
3
+ require_relative 'lib/ffaker/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.specification_version = 2 if s.respond_to? :specification_version=
7
6
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
8
- s.rubygems_version = '1.3.5'
9
7
 
10
8
  s.name = 'ffaker'
11
9
  s.version = FFaker::VERSION
12
- s.required_ruby_version = '>= 2.5'
10
+ s.required_ruby_version = '>= 3.0'
13
11
 
14
12
  s.license = 'MIT'
15
13
 
@@ -28,24 +26,16 @@ Gem::Specification.new do |s|
28
26
  s.rdoc_options = ['--charset=UTF-8']
29
27
  s.extra_rdoc_files = %w[README.md LICENSE Changelog.md]
30
28
 
31
- # = MANIFEST =
32
- s.files = %w[
33
- Changelog.md
34
- Gemfile
35
- LICENSE
36
- RANDOM.md
37
- README.md
38
- REFERENCE.md
39
- Rakefile
40
- ffaker.gemspec
41
- ] + Dir['lib/**/*', 'scripts/*']
42
- # = MANIFEST =
43
-
44
- s.test_files = Dir['test/**/*']
29
+ s.files = `git ls-files`
30
+ .split("\n")
31
+ .sort
32
+ .reject { |file| file =~ /^\./ }
33
+ .reject { |file| file =~ /^(rdoc|pkg)/ }
45
34
 
46
35
  s.metadata = {
47
36
  'changelog_uri' => 'https://github.com/ffaker/ffaker/blob/main/Changelog.md',
48
- 'documentation_uri' => 'https://github.com/ffaker/ffaker/blob/main/REFERENCE.md'
37
+ 'documentation_uri' => 'https://github.com/ffaker/ffaker/blob/main/REFERENCE.md',
38
+ 'rubygems_mfa_required' => 'true'
49
39
  }
50
40
 
51
41
  s.add_development_dependency 'rake', '~> 13.0'
@@ -38,8 +38,20 @@ module FFaker
38
38
  end
39
39
  end
40
40
 
41
- def full_address
42
- "#{street}, #{building_number}, #{city}, #{state}, Brazil"
41
+ def complement
42
+ FFaker.numerify(fetch_sample(COMPLEMENT))
43
+ end
44
+
45
+ def neighborhood
46
+ prefix = fetch_sample(NEIGHBORHOOD_PREFIXES)
47
+ "#{prefix} #{NameBR.first_name}"
48
+ end
49
+
50
+ def full_address(with_complement: false)
51
+ base_address_order = [street, building_number, neighborhood, city, state, 'Brazil']
52
+ return base_address_order.join(', ') unless with_complement
53
+
54
+ base_address_order.insert(2, complement).join(', ')
43
55
  end
44
56
  end
45
57
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module FFaker
4
4
  module AddressIT
5
-
6
5
  extend ModuleUtils
7
6
  extend self
8
7
 
@@ -49,7 +49,7 @@ module FFaker
49
49
  if allow_first_zero
50
50
  FFaker.numerify(masks_arr)
51
51
  else
52
- fetch_sample(masks_arr).sub(/#/) { rand(1..9).to_s }.gsub(/#/) { rand(0..9).to_s }
52
+ fetch_sample(masks_arr).sub('#') { rand(1..9).to_s }.gsub('#') { rand(0..9).to_s }
53
53
  end
54
54
  end
55
55
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module AnimalBR
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
data/lib/ffaker/book.rb CHANGED
@@ -35,11 +35,11 @@ module FFaker
35
35
  end
36
36
 
37
37
  def orly_cover(name = title, book_author = author, top_text = genre)
38
- 'https://orly-appstore.herokuapp.com/generate?'\
39
- "title=#{CGI.escape(name)}&"\
40
- "top_text=#{CGI.escape(top_text)}&"\
41
- "author=#{CGI.escape(book_author)}&"\
42
- "image_code=#{Random.rand(1..40)}&"\
38
+ 'https://orly-appstore.herokuapp.com/generate?' \
39
+ "title=#{CGI.escape(name)}&" \
40
+ "top_text=#{CGI.escape(top_text)}&" \
41
+ "author=#{CGI.escape(book_author)}&" \
42
+ "image_code=#{Random.rand(1..40)}&" \
43
43
  "theme=#{Random.rand(1..16)}"
44
44
  end
45
45
 
data/lib/ffaker/code.rb CHANGED
@@ -17,7 +17,7 @@ module FFaker
17
17
  .chars
18
18
  .inject(0) { |sum, digit| sum + digit.to_i }
19
19
 
20
- npi_checksum = (10 - (24 + summed_digits) % 10).to_s.chars.last
20
+ npi_checksum = (10 - ((24 + summed_digits) % 10)).to_s.chars.last
21
21
 
22
22
  base_npi + npi_checksum
23
23
  end
@@ -5,7 +5,7 @@ module FFaker
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- SUFFIXES = %w[Inc and\ Sons LLC Group].freeze
8
+ SUFFIXES = ['Inc', 'and Sons', 'LLC', 'Group'].freeze
9
9
  POSITION_PREFIXES = %w[Executive Assistant General Associate].freeze
10
10
  POSITIONS = %w[President Manager Director Secretary Consultant].freeze
11
11
 
@@ -35,12 +35,9 @@ module FFaker
35
35
 
36
36
  def position
37
37
  case rand(0..2)
38
- when 0 then
39
- [fetch_sample(POSITION_PREFIXES), fetch_sample(POSITIONS)]
40
- when 1 then
41
- [fetch_sample(POSITION_AREAS), fetch_sample(POSITIONS)]
42
- when 2 then
43
- [fetch_sample(POSITION_PREFIXES), fetch_sample(POSITION_AREAS), fetch_sample(POSITIONS)]
38
+ when 0 then [fetch_sample(POSITION_PREFIXES), fetch_sample(POSITIONS)]
39
+ when 1 then [fetch_sample(POSITION_AREAS), fetch_sample(POSITIONS)]
40
+ when 2 then [fetch_sample(POSITION_PREFIXES), fetch_sample(POSITION_AREAS), fetch_sample(POSITIONS)]
44
41
  end.join(' ')
45
42
  end
46
43
  end
@@ -5,7 +5,7 @@ module FFaker
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- SUFFIXES = %w[SA et\ fils SARL Groupe].freeze
8
+ SUFFIXES = ['SA', 'et fils', 'SARL', 'Groupe'].freeze
9
9
 
10
10
  def name
11
11
  case rand(0..2)
@@ -0,0 +1,3 @@
1
+ Apartamento ###
2
+ Casa Térrea
3
+ Fundos
@@ -0,0 +1,3 @@
1
+ Vila
2
+ Parque
3
+ Jardim
@@ -11,5 +11,6 @@ Nordrhein-Westfalen
11
11
  Rheinland-Pfalz
12
12
  Saarland
13
13
  Sachsen
14
+ Sachsen-Anhalt
14
15
  Schleswig-Holstein
15
16
  Thueringen
@@ -0,0 +1,423 @@
1
+ Abelha
2
+ Abutre
3
+ Ácaro
4
+ Águia
5
+ Albatroz
6
+ Alce
7
+ Alpaca
8
+ Anaconda
9
+ Anchova
10
+ Andorinha
11
+ Anta
12
+ Antílope
13
+ Aranha
14
+ Arara
15
+ Asno
16
+ Atum
17
+ Avestruz
18
+ Babuíno
19
+ Bacalhau
20
+ Bacuri
21
+ Badejo
22
+ Bagre
23
+ Baiacu
24
+ Baleia
25
+ Barata
26
+ Barbo
27
+ Barracuda
28
+ Beija Flor
29
+ Besouro
30
+ Bem Te Vi
31
+ Bezerro
32
+ Bicho da Seda
33
+ Bisonte
34
+ Boa
35
+ Bode
36
+ Boi
37
+ Borboleta
38
+ Boto
39
+ Búfalo
40
+ Burro
41
+ Cabra
42
+ Cachalote
43
+ Cachorro
44
+ Cágado
45
+ Camaleão
46
+ Camarão
47
+ Camelo
48
+ Camundongo
49
+ Canário
50
+ Canguru
51
+ Capivara
52
+ Caracol
53
+ Caranguejo
54
+ Carneiro
55
+ Carrapato
56
+ Cascavel
57
+ Castor
58
+ Cavalo
59
+ Cavalo Marinho
60
+ Cegonha
61
+ Centopeia
62
+ Chimpanzé
63
+ Chinchila
64
+ Chita
65
+ Cigarra
66
+ Cisne
67
+ Coala
68
+ Cobra
69
+ Codorna
70
+ Coelho
71
+ Coiote
72
+ Coruja
73
+ Corvo
74
+ Crocodilo
75
+ Cupim
76
+ Cutia
77
+ Damão
78
+ Dançador
79
+ Degolado
80
+ Degu
81
+ Diablotim
82
+ Diabo da Tasmânia
83
+ Diamante de Gould
84
+ Dingo
85
+ Dinossauro
86
+ Dodô
87
+ Doninha
88
+ Dourado
89
+ Dragão de Komodo
90
+ Dragão do Banhado
91
+ Dragão Voador
92
+ Dromedário
93
+ Dugongo
94
+ Égua
95
+ Elefante
96
+ Elefante Marinho
97
+ Ema
98
+ Enchova
99
+ Enferrujado
100
+ Enguia
101
+ Enho
102
+ Escaravelho
103
+ Escorpião
104
+ Escrevedeira
105
+ Esmerilhão
106
+ Espadarte
107
+ Esponja
108
+ Esquilo
109
+ Estorninho
110
+ Estrela do Mar
111
+ Esturjão
112
+ Faisão
113
+ Falcão
114
+ Ferreirinho
115
+ Flamingo
116
+ Flautim
117
+ Foca
118
+ Formiga
119
+ Fossa
120
+ Fraca da Guiné
121
+ Freirinha
122
+ Fuinha
123
+ Furão
124
+ Gafanhoto
125
+ Gaivota
126
+ Galinha
127
+ Galo
128
+ Gambá
129
+ Gamo
130
+ Ganso
131
+ Garça
132
+ Garoupa
133
+ Gato
134
+ Gavião
135
+ Gazela
136
+ Geco
137
+ Gerbo
138
+ Gibão
139
+ Girafa
140
+ Girino
141
+ Gnu
142
+ Golfinho
143
+ Gorila
144
+ Gralha
145
+ Grifo
146
+ Grilo
147
+ Grou
148
+ Guará:
149
+ Guaxinim
150
+ Hadoque
151
+ Hamster
152
+ Harpia
153
+ Hiena
154
+ Hipopótamo
155
+ Hírax
156
+ Iaque
157
+ Íbex
158
+ Íbis
159
+ Iguana
160
+ Iguanara
161
+ Impala
162
+ Indicador
163
+ Indri
164
+ Inhacoso
165
+ Inhala
166
+ Inhambu
167
+ Irapuã
168
+ Irara
169
+ Iratim
170
+ Itapema
171
+ Jabiru
172
+ Jabuti
173
+ Jaçanã
174
+ Jacaré
175
+ Jacu
176
+ Jacupará
177
+ Jaguar
178
+ Jamanta
179
+ Jararaca
180
+ Javali
181
+ Jegue
182
+ Jiboia
183
+ Joaninha
184
+ João de Barro
185
+ Jumento
186
+ Kakapo
187
+ Kea
188
+ Kinguio
189
+ Kiwi
190
+ Koala
191
+ Kookaburra
192
+ Kowari
193
+ Krill
194
+ Kudu
195
+ Lacraia
196
+ Lagarta
197
+ Lagartixa
198
+ Lagarto
199
+ Lagosta
200
+ Lampreia
201
+ Lavadeira
202
+ Lavagante
203
+ Leão
204
+ Leão Marinho
205
+ Lebre
206
+ Lêmure
207
+ Leopardo
208
+ Lesma
209
+ Lhama
210
+ Libélula
211
+ Lince
212
+ Linguado
213
+ Lobo
214
+ Lombriga
215
+ Lontra
216
+ Lula
217
+ Macaco
218
+ Mamute
219
+ Manatim
220
+ Mandril
221
+ Mangangá
222
+ Maracanã
223
+ Marimbondo
224
+ Mariposa
225
+ Marisco
226
+ Marmota
227
+ Marreco
228
+ Marta
229
+ Massarongo
230
+ Medusa
231
+ Melro
232
+ Mergulhão
233
+ Merluza
234
+ Mexilhão
235
+ Mico
236
+ Milhafre
237
+ Mineirinho
238
+ Minhoca
239
+ Mocho
240
+ Mono
241
+ Morcego
242
+ Moreia
243
+ Morsa
244
+ Mosca
245
+ Mosquito
246
+ Muçurana
247
+ Mula
248
+ Musaranho
249
+ Naja
250
+ Nambu
251
+ Nandaia
252
+ Narceja
253
+ Narval
254
+ Náutilo
255
+ Negrinho
256
+ Neon
257
+ Nhacundá
258
+ Nhandiá
259
+ Niala
260
+ Niquim
261
+ Noitibó
262
+ Numbat
263
+ Nútria
264
+ Ocapi
265
+ Olho de Boi
266
+ Onça
267
+ Orangotango
268
+ Orca
269
+ Órix
270
+ Ornitorrinco
271
+ Osga
272
+ Ostra
273
+ Otária
274
+ Ouriço
275
+ Ouriço do Mar
276
+ Ovelha
277
+ Panda
278
+ Pantera
279
+ Papagaio
280
+ Pardal
281
+ Pássaro
282
+ Pato
283
+ Pavão
284
+ Peixe
285
+ Peixe Boi
286
+ Pelicano
287
+ Percevejo
288
+ Perereca
289
+ Periquito
290
+ Pernilongo
291
+ Peru
292
+ Pescada
293
+ Pica Pau
294
+ Pinguim
295
+ Piolho
296
+ Piranha
297
+ Pirarucu
298
+ Polvo
299
+ Pombo
300
+ Pônei
301
+ Porco
302
+ Porco Espinho
303
+ Porquinho da índia
304
+ Preá
305
+ Preguiça
306
+ Pulga
307
+ Quati
308
+ Quatimirim
309
+ Quatipuru
310
+ Quebra Nozes
311
+ Quebra Ossos
312
+ Queixada
313
+ Quem Te Vestiu
314
+ Quero Quero
315
+ Quetzal
316
+ Quiriquiri
317
+
318
+ Rabudinho
319
+ Raia
320
+ Raposa
321
+ Ratazana
322
+ Rato
323
+ Rêmora
324
+ Rena
325
+ Rendeira
326
+ Rinoceronte
327
+ Robalo
328
+ Rouxinol
329
+ Sabiá
330
+ Sagui
331
+ Salamandra
332
+ Salmão
333
+ Sanguessuga
334
+ Sapo
335
+ Sardão
336
+ Sardinha
337
+ Saúva
338
+ Seriema
339
+ Serpente
340
+ Siri
341
+ Suçuarana
342
+ Sucuri
343
+ Suiriri
344
+ Suricate
345
+ Surubi
346
+ Surucucu
347
+ Tainha
348
+ Tamanduá
349
+ Tamboril
350
+ Tapir
351
+ Tarântula
352
+ Tartaruga
353
+ Tatu
354
+ Tatuí
355
+ Tentilhão
356
+ Tetra
357
+ Texugo
358
+ Tico Tico
359
+ Tigre
360
+ Tilápia
361
+ Tordo
362
+ Tororó
363
+ Toupeira
364
+ Touro
365
+ Tritão
366
+ Truta
367
+ Tubarão
368
+ Tucano
369
+ Tucuxi
370
+ Uacari
371
+ Unau
372
+ Unha Longa
373
+ Unicórnio
374
+ Urso
375
+ Panda
376
+ Urso
377
+ Uru
378
+ Urubu
379
+ Urutaurana
380
+ Urutu
381
+ Vaca
382
+ Vaca Marinha
383
+ Vaga Lume
384
+ Veado
385
+ Verdilhão
386
+ Verdinho
387
+ Vespa
388
+ Víbora
389
+ Vieira
390
+ Vira Bosta
391
+ Vison
392
+ Vitela
393
+ Viúva
394
+ Viúva Negra
395
+ Wallaby
396
+ Weimaraner
397
+ Wombat
398
+ Xajá
399
+ Xangó
400
+ Xará
401
+ Xarelete
402
+ Xaréu
403
+ Xaru
404
+ Xauim
405
+ Xero
406
+ Xexéu
407
+ Ximango
408
+ Ximburé
409
+ Xixarro
410
+ Xofrango
411
+ Xuri
412
+ Yak
413
+ Ynambu
414
+ Yorkshire
415
+ Zabelê
416
+ Zangão
417
+ Zaragateiro
418
+ Zarro
419
+ Zebra
420
+ Zebu
421
+ Zidedê
422
+ Zombeteiro
423
+ Zorrilho