mercredi 16 août 2017

How to repeat single hash multiple times in one array?

I want to create dozens of logins that rely on data from this array, logins:

    logins = [
        {
            email: Faker::Internet.email,
            password: "password",
            first_name: Faker::Name.first_name,
            last_name: Faker::Name.last_name 
        },
        {
            email: Faker::Internet.email,
            password: "password",
            first_name: Faker::Name.first_name,
            last_name: Faker::Name.last_name 
        }
    ]

What is a better way of writing this array rather than copy and pasting that hash dozens of times? I am familiar with x.times do but that wouldn't work on an array.

Here's the code where I pass in the logins:

    logins.each do |login|
         li = LoginInformation.new(login: login[:email], password: login[:password])
         if UserManager.save(li)
                company_ids.each do |id|
                  li.contacts.create(first_name: login[:first_name], last_name: login[:last_name], email_address: login[:email], company_id: id, is_employee: true)
                end
         end
    end

Aucun commentaire:

Enregistrer un commentaire