Sha256: f33627c3f167f7eb2f1886ab566f93112acb7d98151d8790fe2eb84b4320eeed

Contents?: true

Size: 1.57 KB

Versions: 50

Compression:

Stored size: 1.57 KB

Contents

# desc "Explaining what the task does"
namespace :egov_utils do

  task create_admin: :environment do
    pwd = SecureRandom.hex(8)
    u = EgovUtils::User.new(login: 'admin', mail: 'admin@admin.cz', password: pwd, password_confirmation: pwd, active: true, roles: ['admin'])
    if u.save
      puts "User 'admin' created with password '#{pwd}'"
    else
      u.errors.full_messages.each{ |m| puts m }
    end
  end

  task :require_factory_bot do
    require 'factory_bot'
  end

  task cleanup_db: :environment do
    require 'database_cleaner'

    raise "This is very dangerous method and is not meant to be run in production" if Rails.env.production?

    admins  = EgovUtils::User.where(login: 'admin').collect do |u|
      u.attributes.except('id', 'created_at', 'updated_at')
        .merge('password' => 'abcdefgh', 'password_confirmation' => 'abcdefgh')
    end
    users = EgovUtils::User.where.not(provider: nil).collect{|u| u.attributes.except('id', 'created_at', 'updated_at') }
    groups = EgovUtils::Group.where.not(provider: nil).collect{|u| u.attributes.except('id', 'created_at', 'updated_at') }
    DatabaseCleaner.clean_with :truncation
    EgovUtils::User.create(users)
    EgovUtils::Group.create(groups)
    EgovUtils::User.create(admins).each do |admin|
      attrs = admins.detect{ |a| a['login'] == admin.login }
      admin.update_columns(password_digest: attrs['password_digest'])
    end
  end

  task load_staging_data: [:require_factory_bot, :cleanup_db] do
    FactoryBot.find_definitions if Rails.env.staging?
    require Rails.root.join('db', 'staging.rb')
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
egov_utils-1.5.0.alpha16 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha15 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha14 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha13 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha12 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha11 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha10 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha9 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha8 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha7 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha6 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha5 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha4 lib/tasks/egov_utils_tasks.rake
egov_utils-1.4.5 lib/tasks/egov_utils_tasks.rake
egov_utils-1.4.4 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha3 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha2 lib/tasks/egov_utils_tasks.rake
egov_utils-1.5.0.alpha1 lib/tasks/egov_utils_tasks.rake
egov_utils-1.4.3 lib/tasks/egov_utils_tasks.rake
egov_utils-1.4.2 lib/tasks/egov_utils_tasks.rake