Sha256: a21e80a007c642f130bb224bf7da44b40e26b5b2407dc6c9a5141e6fd1e3590b
Contents?: true
Size: 1.24 KB
Versions: 11
Compression:
Stored size: 1.24 KB
Contents
class ForgeCLI::ControllerModuleIncluder attr_reader :module_name def initialize(app, module_name) @app = app @module_name = module_name end def run! add_initializer_content add_controller_content end private def add_controller_content content = app_controller_content.gsub( 'class ApplicationController < ActionController::Base', "class ApplicationController < ActionController::Base\n include Forge::Controllers::#{module_name.camelize}\n" ) File.open(app_controller_path, 'w') { |f| f.puts content } end def add_initializer_content content = "require 'forge/shared_controller_methods/#{module_name.downcase.underscore.gsub(/\s/, '_')}.rb'\n" + forge_initializer_content File.open(forge_initializer_path, 'w') { |f| f.puts content } end def app_controller_path File.join(@app, 'app', 'controllers', 'application_controller.rb') end def app_controller_content @app_controller_content ||= File.read(app_controller_path) end def forge_initializer_path File.join(@app, 'config', 'initializers', 'forge.rb') end def forge_initializer_content @forge_initializer_content ||= File.read(forge_initializer_path) end end
Version data entries
11 entries across 11 versions & 1 rubygems