diff --git a/lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb b/lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb index d9c63a469..3826f7d5a 100644 --- a/lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb +++ b/lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb @@ -5,26 +5,39 @@ class SolidusStarterFrontendGenerator < Rails::Generators::Base def install # Copy directories - directory 'app', 'app' - directory 'lib/views', 'lib/views' + directory 'app', 'app', exclude_pattern: /auth_views/ + directory 'lib/views', 'app/views' # Copy files copy_file 'lib/solidus_starter_frontend_configuration.rb', 'lib/solidus_starter_frontend_configuration.rb' copy_file 'lib/solidus_starter_frontend/config.rb', 'lib/solidus_starter_frontend/config.rb' - copy_file 'lib/solidus_starter_frontend/solidus_support_extensions.rb', 'lib/solidus_starter_frontend/solidus_support_extensions.rb' - - # Initializer - initializer 'solidus_starter_frontend.rb' do - "require 'solidus_starter_frontend/solidus_support_extensions'" - end # Routes copy_file 'config/routes.rb', 'tmp/routes.rb' prepend_file 'config/routes.rb', File.read('tmp/routes.rb') + # Enable Solidus frontend + application do + <<~RUBY + config.x.solidus.frontend_available = true + config.to_prepare do + if defined?(Spree::Auth::Engine) + [ + Spree::UserConfirmationsController, + Spree::UserPasswordsController, + Spree::UserRegistrationsController, + Spree::UserSessionsController, + Spree::UsersController + ].each do |auth_controller| + auth_controller.include SolidusStarterFrontend::Taxonomies + end + end + end + RUBY + end + # Gems gem 'canonical-rails' - gem 'solidus_support' gem 'truncate_html' # Text updates diff --git a/lib/generators/solidus_starter_frontend/views/override_generator.rb b/lib/generators/solidus_starter_frontend/views/override_generator.rb index 80c97d52e..5544909fe 100644 --- a/lib/generators/solidus_starter_frontend/views/override_generator.rb +++ b/lib/generators/solidus_starter_frontend/views/override_generator.rb @@ -7,7 +7,7 @@ module SolidusStarterFrontend module Views class OverrideGenerator < ::Rails::Generators::Base def self.views_folder - Engine.root.join('app', 'views', 'spree') + Rails.root.join('app', 'views', 'spree') end VIEWS = Dir.glob(views_folder.join('**', '*')) diff --git a/lib/solidus_starter_frontend.rb b/lib/solidus_starter_frontend.rb index 4d0efed4c..616c68c9a 100644 --- a/lib/solidus_starter_frontend.rb +++ b/lib/solidus_starter_frontend.rb @@ -6,7 +6,6 @@ require 'solidus_core' require 'solidus_support' -require 'solidus_starter_frontend/solidus_support_extensions' require 'solidus_starter_frontend/version' require 'solidus_starter_frontend/config' require 'solidus_starter_frontend/engine' diff --git a/lib/solidus_starter_frontend/engine.rb b/lib/solidus_starter_frontend/engine.rb index deacfb8b9..a2cefa40b 100644 --- a/lib/solidus_starter_frontend/engine.rb +++ b/lib/solidus_starter_frontend/engine.rb @@ -9,6 +9,10 @@ class Engine < Rails::Engine engine_name 'solidus_starter_frontend' + initializer 'solidus_starter_frontend', before: 'solidus_support_frontend_paths' do + Rails.configuration.x.solidus.frontend_available = true + end + # use rspec for tests config.generators do |g| g.test_framework :rspec diff --git a/lib/solidus_starter_frontend/solidus_support_extensions.rb b/lib/solidus_starter_frontend/solidus_support_extensions.rb deleted file mode 100644 index d145f0608..000000000 --- a/lib/solidus_starter_frontend/solidus_support_extensions.rb +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -require 'solidus_support' - -module SolidusSupport - def self.frontend_available? - true - end -end