From b5b2ec6b1b853cf259de8801372d4ef962456f7c Mon Sep 17 00:00:00 2001 From: Fernando Brito Date: Tue, 13 May 2014 03:28:09 -0300 Subject: [PATCH] rails_apps_composer: set up database --- app/services/create_admin_service.rb | 8 ++++++++ config/secrets.yml | 12 ++++++++++++ db/seeds.rb | 2 ++ 3 files changed, 22 insertions(+), 0 deletions(-) create mode 100644 app/services/create_admin_service.rb diff --git a/app/services/create_admin_service.rb b/app/services/create_admin_service.rb new file mode 100644 index 0000000..1f0aecc --- /dev/null +++ b/app/services/create_admin_service.rb @@ -0,0 +1,8 @@ +class CreateAdminService + def call + user = User.find_or_create_by!(email: Rails.application.secrets.admin_email) do |user| + user.password = Rails.application.secrets.admin_password + user.password_confirmation = Rails.application.secrets.admin_password + end + end +end diff --git a/config/secrets.yml b/config/secrets.yml index 0a11e78..edd6d15 100644 --- a/config/secrets.yml +++ b/config/secrets.yml @@ -11,6 +11,12 @@ # if you're sharing your code publicly. development: + admin_name: First User + admin_email: user@example.com + admin_password: changeme + email_provider_username: <%= ENV["GMAIL_USERNAME"] %> + email_provider_password: <%= ENV["GMAIL_PASSWORD"] %> + domain_name: example.com secret_key_base: 59f3123227a531056f058c06f4c0ac40c072d8b23855c29ee6f4c8cf75176f0ef51cb18e2f41b52246fba93f360a7a2831fd910be24c8a527fb3253f72a54d4c test: @@ -19,4 +25,10 @@ test: # Do not keep production secrets in the repository, # instead read values from the environment. production: + admin_name: <%= ENV["ADMIN_NAME"] %> + admin_email: <%= ENV["ADMIN_EMAIL"] %> + admin_password: <%= ENV["ADMIN_PASSWORD"] %> + email_provider_username: <%= ENV["GMAIL_USERNAME"] %> + email_provider_password: <%= ENV["GMAIL_PASSWORD"] %> + domain_name: <%= ENV["DOMAIN_NAME"] %> secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/db/seeds.rb b/db/seeds.rb index 4edb1e8..997068d 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -5,3 +5,5 @@ # # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) # Mayor.create(name: 'Emanuel', city: cities.first) +user = CreateAdminService.new.call +puts 'CREATED ADMIN USER: ' << user.email -- libgit2 0.21.2