Class: RailsMultitenantSignupFlow::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsMultitenantSignupFlow::Generators::InstallGenerator
- Defined in:
- lib/generators/rails_multitenant_signup_flow/install/install_generator.rb
Instance Method Summary collapse
- #configure_application_record ⇒ Object
- #configure_database ⇒ Object
- #copy_global_record ⇒ Object
- #copy_host_url_concern ⇒ Object
- #copy_session_model ⇒ Object
- #copy_sessions_controller ⇒ Object
- #copy_sign_up_view ⇒ Object
- #copy_sign_ups_controller ⇒ Object
- #copy_tenant_model ⇒ Object
- #copy_tenant_service ⇒ Object
- #copy_user_model ⇒ Object
- #ensure_authentication_scaffold ⇒ Object
- #ensure_sign_up_route ⇒ Object
- #generate_tenant_migrations ⇒ Object
Instance Method Details
#configure_application_record ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 57 def configure_application_record path = "app/models/application_record.rb" if File.exist?(path) ensure_tenanted_in_application_record(path) else say_status :missing, path, :yellow create_default_application_record(path) end end |
#configure_database ⇒ Object
67 68 69 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 67 def configure_database template "database.yml.tt", "config/database.yml", force: force? end |
#copy_global_record ⇒ Object
33 34 35 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 33 def copy_global_record template "global_record.rb.tt", "app/models/global_record.rb", force: force? end |
#copy_host_url_concern ⇒ Object
37 38 39 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 37 def copy_host_url_concern template "host_url.rb.tt", "app/controllers/concerns/host_url.rb", force: force? end |
#copy_session_model ⇒ Object
53 54 55 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 53 def copy_session_model template "session.rb.tt", "app/models/session.rb", force: force? end |
#copy_sessions_controller ⇒ Object
21 22 23 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 21 def copy_sessions_controller template "sessions_controller.rb.tt", "app/controllers/sessions_controller.rb", force: force? end |
#copy_sign_up_view ⇒ Object
29 30 31 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 29 def copy_sign_up_view template "sign_ups_show.html.erb.tt", "app/views/sign_ups/show.html.erb", force: force? end |
#copy_sign_ups_controller ⇒ Object
25 26 27 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 25 def copy_sign_ups_controller template "sign_ups_controller.rb.tt", "app/controllers/sign_ups_controller.rb", force: force? end |
#copy_tenant_model ⇒ Object
45 46 47 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 45 def copy_tenant_model template "tenant.rb.tt", "app/models/tenant.rb", force: force? end |
#copy_tenant_service ⇒ Object
41 42 43 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 41 def copy_tenant_service template "tenant_service.rb.tt", "lib/tenant_service.rb", force: force? end |
#copy_user_model ⇒ Object
49 50 51 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 49 def copy_user_model template "user.rb.tt", "app/models/user.rb", force: force? end |
#ensure_authentication_scaffold ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 13 def ensure_authentication_scaffold return if authentication_generated? say_status :invoke, "rails generate authentication", :green rails_command "generate authentication" move_authentication_migrations_to_global end |
#ensure_sign_up_route ⇒ Object
71 72 73 74 75 76 77 78 79 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 71 def ensure_sign_up_route routes_path = "config/routes.rb" return unless File.exist?(routes_path) content = File.read(routes_path) return if content.include?("resource :sign_up") route "resource :sign_up, only: [:show, :create]" end |
#generate_tenant_migrations ⇒ Object
81 82 83 84 85 86 87 88 89 |
# File 'lib/generators/rails_multitenant_signup_flow/install/install_generator.rb', line 81 def generate_tenant_migrations say_status :invoke, "rails generate migration CreateTenants", :green rails_command "generate migration CreateTenants name:string --database=global" say_status :invoke, "rails generate migration AddTenantToUsers", :green rails_command "generate migration AddTenantToUsers tenant:references --database=global" modify_add_tenant_to_users_migration end |