Fake (Dados de Teste)
O Nerdify inclui um sistema de geração de dados falsos integrado ao framework. Baseado na gem faker, ele cria automaticamente dados realistas para todos os campos definidos nos fieldsets.
⚠️ O módulo Faker não é carregado em produção por segurança.
⚙️ Métodos Disponíveis
Model.fake(attrs = {})
Cria uma instância com dados falsos e salva no banco:
customer = Customer.fake
# => #<Customer id: "...", name: "Maria Santos", email: "maria@example.com", ...>
customer.persisted? # => true
Model.new_fake(attrs = {})
Cria uma instância com dados falsos sem salvar:
customer = Customer.new_fake
# => #<Customer id: nil, name: "João Silva", email: "joao@example.com", ...>
customer.persisted? # => false
customer.valid? # => true (se dados forem válidos)
customer.save # Salva manualmente
🎯 Sobrescrevendo Valores
Passe um hash para definir valores específicos:
# Apenas nome fixo, resto é gerado
customer = Customer.fake(name: "Cliente Teste")
# Múltiplos campos fixos
customer = Customer.fake(
name: "Cliente VIP",
status: "active",
email: "vip@empresa.com"
)
📋 Geração por Tipo de Campo
O sistema gera dados apropriados para cada tipo:
| Tipo do Campo | Dado Gerado | Exemplo |
|---|---|---|
:text | 3 palavras aleatórias | "Lorem ipsum dolor" |
:textarea | Parágrafo completo | "Lorem ipsum dolor sit amet..." |
:number | Inteiro 1-999 | 42 |
:decimal | Decimal 1-999.9 | 156.78 |
:money | Valor monetário | Money.new(15000) |
:date | Data atual | Date.today |
:date_time | Data/hora atual | Time.now |
:time | Hora atual | Time.now |
:boolean | true ou false | true |
:email | Email válido | "user@example.com" |
:password | Senha 8+ caracteres | "xK9#mP2$" |
:phone | Telefone brasileiro | "(11) 98765-4321" |
:cpf | CPF formatado | "123.456.789-00" |
:cnpj | CNPJ formatado | "12.345.678/0001-00" |
:cep / :zip_code | CEP | "01234-567" |
:color | Cor hexadecimal | "#A1B2C3" |
:editor / :html | HTML com parágrafo | "<p>Lorem ipsum...</p>" |
:file / :image | URL de imagem | [{url: "https://..."}] |