Method: Autotest::MerbRspec#initialize
- Defined in:
-
lib/generators/templates/application/merb_stack/autotest/merb_rspec.rb,
lib/generators/templates/application/merb_core/autotest/merb_rspec.rb
Returns a new instance of MerbRspec.
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/generators/templates/application/merb_stack/autotest/merb_rspec.rb', line 13 def initialize super # Ignore any happenings in these directories add_exception %r%^\./(?:doc|log|public|tmp|\.git|\.hg|\.svn|framework|gems|schema|\.DS_Store|autotest|bin|.*\.sqlite3|.*\.thor)% # Ignore SCM directories and custom Autotest mappings %w[.svn .hg .git .autotest].each { |exception| add_exception(exception) } # Ignore any mappings that Autotest may have already set up clear_mappings # Anything in /lib could have a spec anywhere, if at all. So, look for # files with roughly the same name as the file in /lib add_mapping %r%^lib\/(.*)\.rb% do |_, m| files_matching %r%^spec\/#{m[1]}% end add_mapping %r%^spec/(spec_helper|shared/.*)\.rb$% do all_specs end # Changing a spec will cause it to run itself add_mapping %r%^spec/.*\.rb$% do |filename, _| filename end # Any change to a model will cause it's corresponding test to be run add_mapping %r%^app/models/(.*)\.rb$% do |_, m| spec_for(m[1], 'model') end # Any change to global_helpers will result in all view and controller # tests being run add_mapping %r%^app/helpers/global_helpers\.rb% do files_matching %r%^spec/(views|controllers|helpers|requests)/.*_spec\.rb$% end # Any change to a helper will cause its spec to be run add_mapping %r%^app/helpers/((.*)_helper(s)?)\.rb% do |_, m| spec_for(m[1], 'helper') end # Changes to a view cause its spec to be run add_mapping %r%^app/views/(.*)/% do |_, m| spec_for(m[1], 'request') end # Changes to a controller result in its corresponding spec being run. If # the controller is the exception or application controller, all # controller specs are run. add_mapping %r%^app/controllers/(.*)\.rb$% do |_, m| if ["application", "exception"].include?(m[1]) files_matching %r%^spec/requests/.*_spec\.rb$% else spec_for(m[1], 'request') end end # If a change is made to the router, run controller, view and helper specs add_mapping %r%^config/router.rb$% do files_matching %r%^spec/(views|controllers|helpers|requests)/.*_spec\.rb$% end # If any of the major files governing the environment are altered, run # everything add_mapping %r%^config/(init|rack|environments/test).*\.rb|database\.yml% do all_specs end end |