class NimbleAuth::InstallGenerator

Constants

CUSTOM_CONTROLLERS
CUSTOM_PATH

Public Instance Methods

setup() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 16
def setup
  extend_migrations
  extend_models
  add_initializer_template
  mount_engine
end

Private Instance Methods

add_initializer_template() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 37
def add_initializer_template
  say('Adding Initializer Template in Rails Config', Thor::Shell::Color::GREEN)
  copy_file 'initializer.rb', 'config/initializers/nimble_auth.rb'
  say('Replace the Omniauth credentials to valid ones', Thor::Shell::Color::RED)
end
current_timestamp() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 94
def current_timestamp
  Time.now.utc.strftime("%Y%m%d%H%M%S").to_i + Random.rand(10)
end
extend_identity() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 54
def extend_identity
  copy_file 'identity.rb', 'app/models/identity.rb' unless Object.const_defined?('Identity')
end
extend_identity_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 64
def extend_identity_migrations
  return generate_edit_identities_table_migrations if identity_table_exists?

  generate_create_identities_table_migrations
end
extend_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 31
def extend_migrations
  say('Generating Migrations...', Thor::Shell::Color::GREEN)
  extend_user_migrations
  extend_identity_migrations
end
extend_models() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 25
def extend_models
  say('Configuring Models...', Thor::Shell::Color::GREEN)
  extend_user
  extend_identity
end
extend_user() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 50
def extend_user
  copy_file 'user.rb', 'app/models/user.rb' unless Object.const_defined?('User')
end
extend_user_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 58
def extend_user_migrations
  return generate_edit_users_table_migrations if user_table_exists?

  generate_create_users_table_migrations
end
generate_create_identities_table_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 74
def generate_create_identities_table_migrations
  copy_file 'migrations/create_identities_table.rb', "db/migrate/#{current_timestamp}_create_identities.rb"
end
generate_create_users_table_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 70
def generate_create_users_table_migrations
  copy_file 'migrations/create_users_table.rb', "db/migrate/#{current_timestamp}_create_users.rb"
end
generate_edit_identities_table_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 82
def generate_edit_identities_table_migrations
  copy_file 'migrations/edit_identities_table.rb', "db/migrate/#{current_timestamp}_edit_identities.rb"
end
generate_edit_users_table_migrations() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 78
def generate_edit_users_table_migrations
  copy_file 'migrations/edit_users_table.rb', "db/migrate/#{current_timestamp}_edit_users.rb"
end
identity_table_exists?() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 90
def identity_table_exists?
  ActiveRecord::Base.connection.table_exists? 'identities'
end
mount_engine() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 43
def mount_engine
  say('Mounting Engine inside core app', Thor::Shell::Color::GREEN)
  inject_into_file 'config/routes.rb', after: "# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html\n" do
    "\tmount NimbleAuth::Engine, at: '/auth'\n"
  end
end
user_table_exists?() click to toggle source
# File lib/generators/nimble_auth/install_generator.rb, line 86
def user_table_exists?
  ActiveRecord::Base.connection.table_exists? 'users'
end