Class: Rang::Teaspoon::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Rang::Teaspoon::Generators::InstallGenerator
- Defined in:
- lib/rails/generators/rang/teaspoon/install/install_generator.rb
Instance Method Summary collapse
- #add_angular_mocks_to_gemfile ⇒ Object
- #add_matcher ⇒ Object
- #add_teaspoon_assets_hack ⇒ Object
- #add_teaspoon_to_gemfile ⇒ Object
- #bundle_install ⇒ Object
- #inform_about_better_errors ⇒ Object
- #inform_of_actions ⇒ Object
- #require_angular_mocks ⇒ Object
- #teaspoon_install ⇒ Object
Instance Method Details
#add_angular_mocks_to_gemfile ⇒ Object
14 15 16 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 14 def add_angular_mocks_to_gemfile generate "rang:bower:add", "angular-mocks '~> 1.2.0' quiet" end |
#add_matcher ⇒ Object
33 34 35 36 37 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 33 def add_matcher inject_into_file "spec/teaspoon_env.rb", after: /#suite\.matcher =.*$/ do "\n suite.matcher = \"{spec/javascripts,app/assets}/**/*[_.]spec.{js,js.coffee,coffee}\"\n" end end |
#add_teaspoon_assets_hack ⇒ Object
26 27 28 29 30 31 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 26 def add_teaspoon_assets_hack inject_into_file "spec/teaspoon_env.rb", before: "Teaspoon.configure do |config|" do "# Fix for https://github.com/modeset/teaspoon/issues/197\n" + "Rails.application.config.assets.debug = false\n\n" end end |
#add_teaspoon_to_gemfile ⇒ Object
7 8 9 10 11 12 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 7 def add_teaspoon_to_gemfile gem_group :development, :test do gem "teaspoon", "~> 0.8.0" gem "phantomjs", "~> 1.9.0" end end |
#bundle_install ⇒ Object
18 19 20 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 18 def bundle_install bundle! end |
#inform_about_better_errors ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 57 def inform_about_better_errors if Util.gem_present? 'better_errors' say "\nNote: the better_errors gem prevents ruby exceptions being " + "reported when running `teaspoon`.", :cyan say "See: https://github.com/modeset/teaspoon/issues/120\n\n" end end |
#inform_of_actions ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 46 def inform_of_actions say "\n\n ****** \n\n" say "\nTeaspoon is installed, you can run `teaspoon` or visit `/teaspoon` to run tests.", :green say "Jasmine & angular-mocks are included.\n\n", :green say "You can put your specs alongside your JS like this:\n\n", :cyan say " |-- posts/\n" + " | |-- posts_controller.js\n" + " | |-- posts_controller.spec.js\n\n" say "Or inside spec/javascripts, as you prefer.", :cyan end |
#require_angular_mocks ⇒ Object
39 40 41 42 43 44 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 39 def require_angular_mocks inject_into_file "spec/javascripts/spec_helper.js", before: /\/\/= require application/ do "//= require angular\n" + "//= require angular-mocks\n" end end |
#teaspoon_install ⇒ Object
22 23 24 |
# File 'lib/rails/generators/rang/teaspoon/install/install_generator.rb', line 22 def teaspoon_install generate "teaspoon:install" end |