Class: TrixGenius::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- TrixGenius::Generators::InstallGenerator
- Defined in:
- lib/generators/trix_genius/install/install_generator.rb
Instance Method Summary collapse
- #add_import_to_application_js ⇒ Object
- #add_route_to_routes_file ⇒ Object
- #create_controller ⇒ Object
- #create_initializer ⇒ Object
- #create_stimulus_controller ⇒ Object
Instance Method Details
#add_import_to_application_js ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/trix_genius/install/install_generator.rb', line 12 def add_import_to_application_js js_application_path = "app/javascript/application.js" js_application_path = File.join(destination_root, js_application_path) if File.exist?(js_application_path) application_file = File.read(js_application_path) inject_into_file js_application_path, "\n" + 'import "trix"' + "\n", after: 'import "controllers"' inject_into_file js_application_path, "\n" + 'import "@rails/actiontext"' + ("\n" * 2), after: 'import "trix"' else puts javascript_application_msg say_status("error", "Could not find #{js_application_path}", :red) end js_application_controller_path = "app/javascript/controllers/application.js" js_application_controller_path = File.join(destination_root, js_application_controller_path) if File.exist?(js_application_controller_path) application_controller_file = File.read(js_application_controller_path) inject_into_file js_application_controller_path, "\n" + 'import TrixController from "controllers/trix_genius_controller"' + "\n", after: 'import { Application } from "@hotwired/stimulus"' inject_into_file js_application_controller_path, "\n" + 'application.register("trix", TrixController)' + ("\n" * 2), before: 'export { application }' else puts javascript_application_controller_msg say_status("error", "Could not find #{js_application_controller_path}", :red) end end |
#add_route_to_routes_file ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/generators/trix_genius/install/install_generator.rb', line 43 def add_route_to_routes_file route_code = ["", " # TrixGenius: Auto-added route", ' post "/trix_genius/correct_spelling", to: "trix_genius#correct_spelling"', ""].join("\n") inject_into_file File.join(destination_root, "config/routes.rb"), route_code, after: "Rails.application.routes.draw do\n" end |
#create_controller ⇒ Object
52 53 54 |
# File 'lib/generators/trix_genius/install/install_generator.rb', line 52 def create_controller template "trix_genius_controller.rb", File.join(destination_root, "app/controllers/trix_genius_controller.rb") end |
#create_initializer ⇒ Object
8 9 10 |
# File 'lib/generators/trix_genius/install/install_generator.rb', line 8 def create_initializer template "trix_genius.rb", File.join(destination_root, "config/initializers/trix_genius.rb") end |
#create_stimulus_controller ⇒ Object
39 40 41 |
# File 'lib/generators/trix_genius/install/install_generator.rb', line 39 def create_stimulus_controller template "trix_genius_controller.js", File.join(destination_root, "app/javascript/controllers/trix_genius_controller.js") end |