Class: Solrengine::Auth::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Solrengine::Auth::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/solrengine/auth/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_application_controller_helpers ⇒ Object
- #add_routes ⇒ Object
- #create_initializer ⇒ Object
- #create_user_model ⇒ Object
- #create_users_migration ⇒ Object
- #show_post_install ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 13 def self.next_migration_number(dirname) if ActiveRecord.respond_to?(:timestamped_migrations) && ActiveRecord. Time.now.utc.strftime("%Y%m%d%H%M%S") else "%.3d" % (current_migration_number(dirname) + 1) end end |
Instance Method Details
#add_application_controller_helpers ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 53 def add_application_controller_helpers controller_file = "app/controllers/application_controller.rb" include_line = "include Solrengine::Auth::Concerns::ControllerHelpers" return if File.read(controller_file).include?(include_line) inject_into_class controller_file, "ApplicationController", " #{include_line}\n" end |
#add_routes ⇒ Object
46 47 48 49 50 51 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 46 def add_routes route_string = 'mount Solrengine::Auth::Engine, at: "/auth"' return if File.read("config/routes.rb").include?(route_string) route route_string end |
#create_initializer ⇒ Object
21 22 23 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 21 def create_initializer template "initializer.rb", "config/initializers/solrengine_auth.rb" end |
#create_user_model ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 25 def create_user_model unless File.exist?("app/models/user.rb") create_file "app/models/user.rb", <<~RUBY class User < ApplicationRecord include Solrengine::Auth::Concerns::Authenticatable end RUBY else unless File.read("app/models/user.rb").include?("Solrengine::Auth::Concerns::Authenticatable") inject_into_class "app/models/user.rb", "User", " include Solrengine::Auth::Concerns::Authenticatable\n\n" end end end |
#create_users_migration ⇒ Object
40 41 42 43 44 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 40 def create_users_migration migration_template "migration.rb.erb", "db/migrate/create_users_with_wallet_auth.rb" rescue Rails::Generators::Error say_status :skip, "Migration already exists", :yellow end |
#show_post_install ⇒ Object
62 63 64 65 |
# File 'lib/generators/solrengine/auth/install_generator.rb', line 62 def show_post_install say "\n SolRengine Auth installed!", :green say " Run `rails db:migrate` to create the users table.\n\n" end |