randamu

Gem Version

Aviso

Ainda está em desenvolvimento.

Objetivo

Esta gem foi desenvolvida como um projeto de aprendizado para entender o desenvolvimento e publicação de libs. Seu objetivo principal é fornecer um conjunto de ferramentas para geração de dados aleatórios em português, facilitando a criação de objetos de teste.

Como Usar

Instalação

Adicione esta linha ao seu Gemfile:

gem 'randamu'

E então execute:

bundle install

Ou instale você mesmo:

gem install randamu

Exemplos

require 'randamu'

# Gerar um CPF válido
cpf_valido = Randamu::Doc.cpf
puts cpf_valido

# Gerar um CPF inválido
cpf_invalido = Randamu::Doc.cpf(valid: false)
puts cpf_invalido
Randamu::Academic
# Gerar um nível de escolaridade
Randamu::Academic.education_level
# saida: "Superior"

# Gerar um curso acadêmico aleatório
Randamu::Academic.course
# saida: "Engenharia de Software"

# Gerar uma escola aleatória
Randamu::Academic.school
# saida: "Colégio Pedro II"

# Gerar uma universidade aleatória
Randamu::Academic.university
# saida: "Universidade Federal Fluminense"

# Usar o alias `college` para gerar uma universidade
Randamu::Academic.college
# saida: "Universidade Federal Fluminense"
Randamu::Account
# Gerar um username aleatório
# Por padrao: username(type: :default)
# Parâmetros permitidos: :default, :funny
Randamu::Account.username
# Saída: "Coyote"
Randamu::Account.username(type: :funny)
# Saída: "CarimboMiguel"

# Gerar um email aleatório
Randamu::Account.email
# Saída: "joao_silva@gmail.com"

# Gerar uma senha aleatória
# Por padrão: password(length: 8, special: true, numeric: true, alphabet: true)
Randamu::Account.password
# Saída: "A1#2c3_4"

# Gerar um telefone aleatório
# # Por padrão: 
#       phone(state: :'ACRONIMO_DE_UM_ESTADO_ALEATORIO', country_code: false)
#       phone_only_numbers(state: :'ACRONIMO_DE_UM_ESTADO_ALEATORIO', country_code: false)
Randamu::Account.phone(state: :rj, country_code: true)
# Saída: "+55 (21) 999999999"
Randamu::Account.phone_only_numbers(state: :rj, country_code: true)
# Saída: "5521999999999"
Randamu::Animal
# Gerar um animal aleatório
# Por padrao: animal(type: nil)
# Parâmetros permitidos: :mammal :bird :fish :amphibian :reptile :insect
Randamu::Animal.animal
# Saída: "Gato"
Randamu::Animal.animal(type: :bird)
# Saída: "Coruja"
Randamu::Boolean
# Gerar um booleano aleatório
Randamu::Boolean.boolean
# Saída: true
Randamu::Business
# Gerar um nome de empresa aleatório
Randamu::Business.company_name

# Gerar um tipo de assinatura aleatório
Randamu::Business.subscription
# Saída: "Mensal"
Randamu::Date
# Gerar uma data aleatória
# Por padrão: date(start_date: '01/01/1950', end_date: 'Date.today.to_s', as_string: false)
# Parâmetros start_date e end_date devem ser strings no formato 'dd/mm/yyyy'
d = Randamu::Date.date
#<Date: 1983-01-03 ((2445338j,0s,0n),+0s,2299161j)>
d.class # Date

Randamu::Date.date(as_string: true)
# Saída: "03/01/1983"

# Gerar uma data futura
# Por padrão: future_date(start_date: 'Date.today.to_s', end_date: '31/12/2050', as_string: false)
d = Randamu::Date.future_date
#<Date: 2037-07-06 ((2459470j,0s,0n),+0s,2299161j)>
d.class # Date

Randamu::Date.future_date(as_string: true)
# Saída: "06/07/2037"
Randamu::Doc
# Gerar um CPF aleatório
# Por padrão: cpf(valid: true)
Randamu::Doc.cpf
# Saída: "12345678909"
Randamu::Doc.cpf(valid: false)
# Saída: "12345678900"

# Gerar um CNPJ aleatório
# Por padrão: cnpj(valid: true)
Randamu::Doc.cnpj
# Saída: "12345678000109"
Randamu::Doc.cnpj(valid: false)
# Saída: "12345678000100"

# Gerar um RG aleatório
Randamu::Doc.rg
# Saída: "123456789"

# Gerar um título de eleitor aleatório
Randamu::Doc.voter_registration
# Saída: "123456789012"

# Gerar CNH aleatório
Randamu::Doc.cnh 
# Saída: "123456789"

# Gerar orgao emissor aleatório
# Por padrão: issuing_authority(full_name: false)
Randamu::Doc.issuing_authority
# Saída: "DETRAN"
Randamu::Doc.issuing_authority(full_name: true)
# Saída: "DETRAN - Departamento Estadual de Trânsito"
Randamu::Map
# Gerar um endereco completo aleatório
Randamu::Map.full_address
# Saída: "Rua dos Lobos, 105, Rio de Janeiro, RJ, 20000-000"

# Gerar uma cidade aleatória
# Por padrão: city(state: nil)
# Parâmetros permitidos: :sigla_de_um_estado_como_symbol
Randamu::Map.city
# Saída: "Rio de Janeiro"
Randamu::Map.city(state: :sp)
# Saída: "Campinas"

# Gerar um estado aleatório
# Por padrão: state(region: nil, acronym: false)
# Parâmetros permitidos: region: :regiao_brasielira_como_symbol
Randamu::Map.state
# Saída: "Rio de Janeiro"
Randamu::Map.state(region: :nordeste)
# Saída: "Bahia"
Randamu::Map.state(region: :nordeste, acronym: true)
# Saída: "BA"

# Gerar um país aleatório
Randamu::Map.country
# Saída: "Brasil"

# Gerar um CEP aleatório
Randamu::Map.zip_code
# Saída: "20000-000"

# Gerar complemento de endereço aleatório
Randamu::Map.additional_address_data
# Saída: "Prox. a Câmara Municipal"
Randamu::Person
# Gerar um nome aleatório
# Por padrão first_name(gender: nil)
# Parâmetros permitidos: :male, :female
Randamu::Person.first_name
# Saída: "João"
Randamu::Person.first_name(gender: :female)
# Saída: "Maria"

# Gerar um sobrenome aleatório
Randamu::Person.last_name
# Saída: "Silva"

# Gerar um nome completo aleatório
# Por padrão full_name(gender: nil, length: 2)
# Parâmetros permitidos: :male, :female
Randamu::Person.full_name
# saída: "João Silva"
Randamu::Person.full_name(gender: :male, length: 3)
# Saída: "João Costa Pinheiro"

# Gerar um gênero aleatório
Randamu::Person.gender
# Saída: "Masculino"

# Gerar um estado civil aleatório
Randamu::Person.marital_status
# Saída: "Solteiro"

# Gerar profissão aleatória
Randamu::Person.profession
# Saída: "Médico"

# Gerar tipo sanguíneo aleatório
Randamu::Person.blood_type
# Saída: "O+"
Randamu::Text
# Gerar uma palavra aleatória
# Por padrão: word(format: nil)
# Parâmetros permitidos: :capitalize, :upcase, :downcase
Randamu::Text.word
# Saída: "lorem"

# Gerar um titulo aleatório
# Por padrão: title(words: 3)
Randamu::Text.title
# Saída: "Lorem Ipsum Dolor"

# Gerar uma frase aleatória
# Por padrão: phrase(words: 4)
Randamu::Text.phrase
# Saída: "Lorem ipsum dolor sit amet."

# Gerar um parágrafo aleatório
# Por padrão: paragraph(phrases: 8)
Randamu::Text.paragraph

# Gerar um texto aleatório
# Por padrão: text(paragraphs: 4)
Randamu::Text.text