Class: Loco::FileInjectorGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Loco::FileInjectorGenerator
- Defined in:
- lib/generators/loco/file_injector/file_injector_generator.rb
Instance Method Summary collapse
- #application_controller ⇒ Object
- #application_helper ⇒ Object
- #connection ⇒ Object
- #js_manifest ⇒ Object
- #layout ⇒ Object
- #routes ⇒ Object
Instance Method Details
#application_controller ⇒ Object
37 38 39 40 41 42 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 37 def application_controller file_path = File.join Rails.root, 'app', 'controllers', 'application_controller.rb' data = File.read find_in_source_paths('application_controller.rb') after_line = "class ApplicationController < ActionController::Base\n" inject_into_file file_path, data, after: after_line end |
#application_helper ⇒ Object
25 26 27 28 29 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 25 def application_helper file_path = File.join Rails.root, 'app', 'helpers', 'application_helper.rb' line = %Q{ include Loco::Helpers\n} inject_into_file file_path, line, after: "module ApplicationHelper\n" end |
#connection ⇒ Object
44 45 46 47 48 49 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 44 def connection return if Rails.version.to_f < 5 file_path = File.join Rails.root, 'app', 'channels', 'application_cable', 'connection.rb' data = File.read find_in_source_paths('connection.rb') inject_into_class file_path, 'Connection', data end |
#js_manifest ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 4 def js_manifest file_path = File.join Rails.root, 'app', 'assets', 'javascripts', 'application.js' gsub_file file_path, /^\/\/= require_tree .$/, '' gsub_file file_path, /^\n$/, '' if Rails.version.to_f >= 5 gsub_file file_path, "//= require cable\n", '' gsub_file file_path, "//= require cable", '' end data = File.read find_in_source_paths('application.js') append_file file_path, data if Rails.version.to_f >= 5 inject_into_file file_path, "//= require cable\n", after: "//= require loco-rails\n" end end |
#layout ⇒ Object
31 32 33 34 35 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 31 def layout file_path = File.join Rails.root, 'app', 'views', 'layouts', 'application.html.erb' gsub_file file_path, '<body>', '<%= content_tag :body, loco_body_data do %>' gsub_file file_path, '</body>', '<% end %>' end |
#routes ⇒ Object
19 20 21 22 23 |
# File 'lib/generators/loco/file_injector/file_injector_generator.rb', line 19 def routes file_path = File.join Rails.root, 'config', 'routes.rb' line = %Q{ mount Loco::Engine => '/notification-center'\n\n} inject_into_file file_path, line, after: "Rails.application.routes.draw do\n" end |