Las gemas son bibliotecas en Rails que generalmente le permiten escribir el código de la aplicación más rápido y, por lo tanto, crear un gran producto en mucho menos tiempo. Por lo general, cada vez que comenzamos a desarrollar una aplicación, llega un punto en el que necesitamos datos que podemos usar para ver cómo se comportará la aplicación mientras realizamos algunas pruebas de carga o cómo se verá cuando la implementemos en producción. El proceso manual de creación de datos puede resultar abrumador. Faker gem sirve para eliminar este dolor generando datos falsos justo cuando es necesario y ahorrándonos todo el tiempo y esfuerzo que de otro modo se desperdiciaría en el proceso manual de generación de datos.
Puede generar casi cualquier tipo de datos adecuados para nuestra aplicación. Por ejemplo, puede generar datos falsos para campos como nombre, correo electrónico, contraseñas, números de teléfono, párrafos, etc. Por lo tanto, es una forma increíble de completar el modelo (que es una capa de base de datos en Rails).
Echemos un vistazo a esta joya creando un proyecto de muestra.
Abra el Gemfile desde el directorio de la aplicación y agregue 'falsificador de gemas' Como se muestra abajo.
Nombre del archivo: Gemfile
Ejecute el comando 'instalación del paquete' como siempre.
Sólo para confirmar y ver si las gemas se instalaron correctamente.
So, the installation was successful! Now, let’s create a model for which we will do the data
population using faker gem. We will call our sample model as PersonDetail & it will have the following fields:
- First Name
- Last Name
- Age
- Phone Number
- Company Info
Como hemos utilizado el andamio para una demostración más rápida, la mesa con el nombre ''detalles_persona'' con los campos mencionados se crearán después de migrar la base de datos.
En este punto ya deberíamos tener la tabla creada con los campos mencionados. Podemos comprobar la estructura real de esta tabla en archivo esquema.rb
Nombre del archivo: db/schema.rb
Ahora hay un archivo llamado semillas.rb presente en directorios de aplicaciones 'db' folder. There are
Some examples already available (the commented part) in this file that demonstrates how to make use of this file.
We can also go ahead on the same lines and try to create data for defined fields in “detalles_persona” table by using Faker gem.
THE ACTUAL USAGE OF FAKER STARTS FROM HERE!
We have some common fields such as FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, etc. in our table. For these fields, the usage is, as shown below:
Faker::Name.first_name → first_name
Faker::Name.last_name → last_name
Faker::Number.number(2) → age
Faker::Internet.email → email
Faker::PhoneNumber.phone_number → phone_number
Faker::Company.name → company_info
All these values will be generated in random ways to achieve considerable uniqueness in the data generated.
Combining all of these fields, we can make it to create as many number of rows as we want in detalles_persona mesa.
Nombre del archivo: db/seeds.rb
Y aquí está el paso final para la generación de datos:
Podemos iniciar el servidor como “servidor de rieles” e ingrese la ruta como
¡Aquí vamos! Podemos ver que se crean 5 filas distintas y se muestran en la página de listado del índice:
Ahora, mientras Faker genera la información de forma aleatoria, los datos generados de forma predeterminada pueden o no ser completamente únicos todo el tiempo. Para garantizar que los datos generados sean únicos en cada momento, podemos hacer uso de 'único' justo antes de la llamada de campo real:
Hay muchos campos de este tipo en los que podemos tener datos falsos. Puede encontrar una lista exhaustiva de los mismos aquí:
https://github.com/stympy/faker
¡Mantente sintonizado para más!