ffaker 2.20.0 → 2.22.0

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.
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