Class: EngineCart::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- EngineCart::InstallGenerator
- Defined in:
- lib/generators/engine_cart/install_generator.rb
Instance Method Summary collapse
Instance Method Details
#add_gemfile_include ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/generators/engine_cart/install_generator.rb', line 48 def add_gemfile_include append_file "Gemfile" do " file = File.expand_path(\"Gemfile\", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path(\"../spec/internal\", __FILE__))\n if File.exists?(file)\nputs \"Loading \\\#{file} ...\" if $DEBUG # `ruby -d` or `bundle -v`\ninstance_eval File.read(file)\n end\n EOF\n end\nend\n" |
#create_test_app_templates ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/generators/engine_cart/install_generator.rb', line 8 def create_test_app_templates empty_directory EngineCart.templates_path empty_directory File.("lib/generators", EngineCart.templates_path) create_file File.("lib/generators/test_app_generator.rb", EngineCart.templates_path), :skip => true do " require 'rails/generators'\n\n class TestAppGenerator < Rails::Generators::Base\n source_root \"\#{EngineCart.templates_path}\"\n\n # if you need to generate any additional configuration\n # into the test app, this generator will be run immediately\n # after setting up the application\n\n def install_engine\n generate '\#{EngineCart.current_engine_name}:install'\n end\n end\n\n EOF\n end\nend\n" |
#ignore_test_app ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/generators/engine_cart/install_generator.rb', line 33 def ignore_test_app # Ignore the generated test app in the gem's .gitignore file git_root = (`git rev-parse --show-toplevel` rescue '.').strip # If we don't have a .gitignore file already, don't worry about it return unless File.exists? File.('.gitignore', git_root) # If the directory is already ignored (somehow) don't worry about it return if (system('git', 'check-ignore', TEST_APP, '-q') rescue false) append_file File.('.gitignore', git_root) do "#{EngineCart.destination}\n" end end |