class Revelry::Generators::Auth::InstallGenerator

Public Instance Methods

add_gem() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 9
def add_gem
  gem 'devise'
  gem 'rolify'
  gem 'pundit'
  gem 'devise_invitable'
  run 'bundle install'
end
add_pundit_to_app_controller() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 34
def add_pundit_to_app_controller
  insert_into_file app_controller_path, after: "ActionController::Base\n" do
    "include Pundit\n"
  end
end
install_devise() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 17
def install_devise
  generate 'devise:install'
end
install_devise_to_user() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 21
def install_devise_to_user
  generate 'devise user'
  insert_into_file Rails.root.join('app', 'models', 'user.rb'), after: 'validatable' do
    ', :invitable'
  end
  rake 'db:migrate'
end
install_policies() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 40
def install_policies
  generate 'pundit:install'
  template 'admins_only_policy.rb', 'app/policies/admins_only_policy.rb'
end
install_roles() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 29
def install_roles
  generate 'rolify Role User'
  rake 'db:migrate'
end

Private Instance Methods

app_controller_path() click to toggle source
# File lib/generators/revelry/auth/install_generator.rb, line 47
def app_controller_path
  Rails.root.join('app', 'controllers', 'application_controller.rb')
end