generator-spec 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +53 -37
- data/VERSION +1 -1
- data/lib/{rspec_for_generators.rb → generator_spec.rb} +1 -1
- data/lib/generator_spec/extensions/core_ext.rb +17 -0
- data/lib/{rspec_for_generators/rails_spec_helper.rb → generator_spec/helpers/configure_rails.rb} +0 -4
- data/lib/{rspec_for_generators → generator_spec/helpers}/migration_helper.rb +0 -0
- data/lib/generator_spec/main.rb +42 -0
- data/lib/generator_spec/matchers/content/content_matcher.rb +21 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_block.rb +17 -8
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_call.rb +6 -6
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_calls.rb +5 -5
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_class.rb +14 -6
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_method.rb +17 -8
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_module.rb +7 -6
- data/lib/generator_spec/matchers/content/have_region.rb +49 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/have_subclass.rb +19 -7
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/include_module.rb +5 -5
- data/lib/{rspec_for_generators → generator_spec}/matchers/content/inherit_from.rb +7 -3
- data/lib/{rspec_for_generators → generator_spec}/matchers/file/generate_directory.rb +1 -1
- data/lib/{rspec_for_generators → generator_spec}/matchers/file/generate_file.rb +6 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/file/generate_migration.rb +1 -1
- data/lib/{rspec_for_generators → generator_spec}/matchers/helpers/content.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/helpers/file.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/helpers/migration.rb +1 -1
- data/lib/{rspec_for_generators → generator_spec}/matchers/migration/have_column.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/migration/have_index.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/migration/have_table.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/migration/have_tbl_column.rb +0 -0
- data/lib/{rspec_for_generators → generator_spec}/matchers/migration/have_up_down.rb +0 -0
- data/lib/generator_spec/rails_helpers/rails_app.rb +159 -0
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_controller.rb +4 -2
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_helper.rb +4 -2
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_mailer.rb +4 -2
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_migration.rb +1 -1
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_model.rb +4 -2
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_observer.rb +4 -2
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_orm.rb +37 -17
- data/lib/{rspec_for_generators → generator_spec}/rails_helpers/rails_view.rb +3 -1
- data/lib/generator_spec/require_generator.rb +67 -0
- data/lib/generator_spec/rspec_generator/configure.rb +51 -0
- data/lib/generator_spec/rspec_generator/generator_util.rb +57 -0
- data/lib/generator_spec/rspec_generator/routes.rb +2 -0
- data/lib/generator_spec/rspec_generator/test_case.rb +25 -0
- data/spec/{rspec_for_generators → generator_spec}/controller_generator_spec.rb +0 -0
- data/spec/{rspec_for_generators → generator_spec}/helper_generator_spec.rb +10 -10
- data/spec/{rspec_for_generators → generator_spec}/migration_generator_spec.rb +0 -0
- data/spec/{rspec_for_generators → generator_spec}/model_generator_spec.rb +0 -0
- data/spec/{rspec_for_generators → generator_spec}/observer_generator_spec.rb +0 -0
- data/spec/{rspec_for_generators → generator_spec}/view_generator_spec.rb +0 -0
- data/spec/spec_helper.rb +12 -9
- metadata +55 -51
- data/generator-spec.gemspec +0 -128
- data/lib/rspec_for_generators/fixtures/routes.rb +0 -2
- data/lib/rspec_for_generators/generator_spec_helper.rb +0 -151
- data/lib/rspec_for_generators/main.rb +0 -19
- data/lib/rspec_for_generators/rails_helpers/rails_app.rb +0 -119
- data/lib/rspec_for_generators/rspec_test_case.rb +0 -26
| @@ -6,8 +6,8 @@ | |
| 6 6 | 
             
            #   say_hello_file_content.should have_method "hello"
         | 
| 7 7 | 
             
            #
         | 
| 8 8 | 
             
            module RSpec::RubyContentMatchers
         | 
| 9 | 
            -
              class HaveMethod
         | 
| 10 | 
            -
                attr_reader :method, :type | 
| 9 | 
            +
              class HaveMethod < RSpec::RubyContentMatcher
         | 
| 10 | 
            +
                attr_reader :method, :type
         | 
| 11 11 |  | 
| 12 12 | 
             
                def initialize(method, type=nil)
         | 
| 13 13 | 
             
                  @method = method.to_s
         | 
| @@ -15,12 +15,12 @@ module RSpec::RubyContentMatchers | |
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 17 | 
             
                def matches?(content) 
         | 
| 18 | 
            -
                   | 
| 18 | 
            +
                  super
         | 
| 19 19 | 
             
                  match_res = case type
         | 
| 20 20 | 
             
                  when :class
         | 
| 21 | 
            -
                    content =~ /def\s+self.#{method} | 
| 21 | 
            +
                    content =~ /def\s+self.#{method}#{args_expr}(.*?)#{end_expr}/m
         | 
| 22 22 | 
             
                  else
         | 
| 23 | 
            -
                    content =~ /def\s+#{method} | 
| 23 | 
            +
                    content =~ /def\s+#{method}#{args_expr}(.*?)#{end_expr}/m
         | 
| 24 24 | 
             
                  end   
         | 
| 25 25 | 
             
                  if block_given? && $2
         | 
| 26 26 | 
             
                    ruby_content = $2.strip.extend(RSpec::RubyContent::Helpers)
         | 
| @@ -31,17 +31,26 @@ module RSpec::RubyContentMatchers | |
| 31 31 | 
             
                end          
         | 
| 32 32 |  | 
| 33 33 | 
             
                def failure_message
         | 
| 34 | 
            -
                   | 
| 34 | 
            +
                  super
         | 
| 35 35 | 
             
                  return "Expected there to be the class method #{method}, but there wasn't" if type == :class
         | 
| 36 36 | 
             
                  "Expected there to be the method #{method}, but there wasn't"        
         | 
| 37 37 | 
             
                end 
         | 
| 38 38 |  | 
| 39 39 | 
             
                def negative_failure_message                                      
         | 
| 40 | 
            -
                   | 
| 40 | 
            +
                  super
         | 
| 41 41 | 
             
                  return "Did not expect there to be the class method #{method}, but there was" if type == :class
         | 
| 42 42 | 
             
                  "Did not expect there to be the method #{method}, but there was"
         | 
| 43 43 | 
             
                end
         | 
| 44 | 
            -
             | 
| 44 | 
            +
             | 
| 45 | 
            +
                protected
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                def args_expr
         | 
| 48 | 
            +
                  '\s*(\(.+\))?'
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
                
         | 
| 51 | 
            +
                def end_expr
         | 
| 52 | 
            +
                  "(def|end|# #{method})"
         | 
| 53 | 
            +
                end
         | 
| 45 54 | 
             
              end
         | 
| 46 55 |  | 
| 47 56 | 
             
              def have_method(method, type = nil)
         | 
| @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            module RSpec::RubyContentMatchers
         | 
| 2 | 
            -
              class HaveModule
         | 
| 3 | 
            -
                attr_reader :module_name | 
| 2 | 
            +
              class HaveModule < RSpec::RubyContentMatcher
         | 
| 3 | 
            +
                attr_reader :module_name
         | 
| 4 4 |  | 
| 5 5 | 
             
                def initialize(module_name)
         | 
| 6 6 | 
             
                  @module_name = module_name.to_s.camelize
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 9 | 
             
                def matches?(content)            
         | 
| 10 | 
            -
                   | 
| 10 | 
            +
                  super
         | 
| 11 11 | 
             
                  match_res =~ /module\s+#{module_name}\s+(.*)end/m
         | 
| 12 12 | 
             
                  if block_given? && match_res
         | 
| 13 13 | 
             
                    ruby_content = $2.strip.extend(RSpec::RubyContent::Helpers)
         | 
| @@ -18,12 +18,12 @@ module RSpec::RubyContentMatchers | |
| 18 18 | 
             
                end          
         | 
| 19 19 |  | 
| 20 20 | 
             
                def failure_message
         | 
| 21 | 
            -
                   | 
| 21 | 
            +
                  super
         | 
| 22 22 | 
             
                  "Expected there to be the module #{module_name}"
         | 
| 23 23 | 
             
                end 
         | 
| 24 24 |  | 
| 25 25 | 
             
                def negative_failure_message
         | 
| 26 | 
            -
                   | 
| 26 | 
            +
                  super
         | 
| 27 27 | 
             
                  "Did no expected there to be the module #{module_name}"
         | 
| 28 28 | 
             
                end
         | 
| 29 29 |  | 
| @@ -31,5 +31,6 @@ module RSpec::RubyContentMatchers | |
| 31 31 |  | 
| 32 32 | 
             
              def have_module(module_name)
         | 
| 33 33 | 
             
                HaveModule.new(module_name)
         | 
| 34 | 
            -
              end | 
| 34 | 
            +
              end       
         | 
| 35 | 
            +
              alias_method :be_module, :have_module  
         | 
| 35 36 | 
             
            end  
         | 
| @@ -0,0 +1,49 @@ | |
| 1 | 
            +
            module RSpec::RubyContentMatchers
         | 
| 2 | 
            +
              class HaveRegion < RSpec::RubyContentMatcher
         | 
| 3 | 
            +
                attr_reader :region
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                def initialize(region)
         | 
| 6 | 
            +
                  @region = region.to_s
         | 
| 7 | 
            +
                end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                def matches?(content) 
         | 
| 10 | 
            +
                  super
         | 
| 11 | 
            +
                  match_res = (content =~ /#{region}(.*)#{end_epxr}/m)
         | 
| 12 | 
            +
                  if block_given? && $1
         | 
| 13 | 
            +
                    ruby_content = $1.strip.extend(RSpec::RubyContent::Helpers)
         | 
| 14 | 
            +
                    yield ruby_content        
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
                  match_res
         | 
| 17 | 
            +
                end          
         | 
| 18 | 
            +
              
         | 
| 19 | 
            +
                def failure_message 
         | 
| 20 | 
            +
                  super
         | 
| 21 | 
            +
                  "Expected there to be a #{region} region"
         | 
| 22 | 
            +
                end 
         | 
| 23 | 
            +
                
         | 
| 24 | 
            +
                def negative_failure_message    
         | 
| 25 | 
            +
                  super
         | 
| 26 | 
            +
                  "Did no expected there to be a #{region} region"
         | 
| 27 | 
            +
                end               
         | 
| 28 | 
            +
                
         | 
| 29 | 
            +
                protected
         | 
| 30 | 
            +
                
         | 
| 31 | 
            +
                def end_expr
         | 
| 32 | 
            +
                  '(private|protected|public|$)'
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
              
         | 
| 36 | 
            +
              def have_public
         | 
| 37 | 
            +
                HaveRegion.new :public
         | 
| 38 | 
            +
              end    
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              def have_protected
         | 
| 41 | 
            +
                HaveRegion.new :protected
         | 
| 42 | 
            +
              end    
         | 
| 43 | 
            +
             | 
| 44 | 
            +
              def have_private
         | 
| 45 | 
            +
                HaveRegion.new :private
         | 
| 46 | 
            +
              end    
         | 
| 47 | 
            +
            end
         | 
| 48 | 
            +
                  
         | 
| 49 | 
            +
             | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module RSpec::RubyContentMatchers
         | 
| 2 | 
            -
              class HaveSubclass
         | 
| 3 | 
            -
                attr_reader :klass, :superclass, :type | 
| 2 | 
            +
              class HaveSubclass < RSpec::RubyContentMatcher
         | 
| 3 | 
            +
                attr_reader :klass, :superclass, :type
         | 
| 4 4 |  | 
| 5 5 | 
             
                def initialize(klass, superclass, type=nil)
         | 
| 6 6 | 
             
                  @klass      = klass.to_s.camelize
         | 
| @@ -9,8 +9,8 @@ module RSpec::RubyContentMatchers | |
| 9 9 | 
             
                end
         | 
| 10 10 |  | 
| 11 11 | 
             
                def matches?(content) 
         | 
| 12 | 
            -
                   | 
| 13 | 
            -
                  match_res = (content =~ /class\s+#{klass}#{type}\s+<\s+#{superclass}(.*) | 
| 12 | 
            +
                  super
         | 
| 13 | 
            +
                  match_res = (content =~ /class\s+#{klass}#{type}\s+<\s+#{superclass}(.*)#{end_expr}/m)
         | 
| 14 14 | 
             
                  if block_given? && $1
         | 
| 15 15 | 
             
                    ruby_content = $1.strip.extend(RSpec::RubyContent::Helpers)
         | 
| 16 16 | 
             
                    yield ruby_content 
         | 
| @@ -20,25 +20,37 @@ module RSpec::RubyContentMatchers | |
| 20 20 | 
             
                end          
         | 
| 21 21 |  | 
| 22 22 | 
             
                def failure_message  
         | 
| 23 | 
            -
                   | 
| 23 | 
            +
                  super
         | 
| 24 24 | 
             
                  "Expected there to be the subclass #{klass} of #{superclass}"
         | 
| 25 25 | 
             
                end 
         | 
| 26 26 |  | 
| 27 27 | 
             
                def negative_failure_message
         | 
| 28 | 
            -
                   | 
| 28 | 
            +
                  super
         | 
| 29 29 | 
             
                  "Did no expected there to be the subclass #{klass} of #{superclass}"
         | 
| 30 | 
            +
                end   
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                protected
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                def end_expr
         | 
| 35 | 
            +
                  "(end$|# #{klass})"
         | 
| 30 36 | 
             
                end
         | 
| 37 | 
            +
                
         | 
| 31 38 | 
             
              end
         | 
| 32 39 |  | 
| 33 | 
            -
              def  | 
| 40 | 
            +
              def have_subclass(klass, superclass, type=nil)
         | 
| 34 41 | 
             
                HaveSubclass.new(klass, superclass, type)
         | 
| 35 42 | 
             
              end    
         | 
| 43 | 
            +
              alias_method :be_subclass, :have_subclass
         | 
| 36 44 |  | 
| 37 45 | 
             
              def have_observer_class(klass)
         | 
| 38 46 | 
             
                HaveSubclass.new(klass, 'ActiveRecord::Observer', :observer)
         | 
| 39 47 | 
             
              end     
         | 
| 48 | 
            +
              alias_method :be_observer, :have_observer_class
         | 
| 49 | 
            +
              alias_method :be_observer_class, :have_observer_class
         | 
| 50 | 
            +
             | 
| 40 51 |  | 
| 41 52 | 
             
              def have_migration(klass)
         | 
| 42 53 | 
             
                HaveSubclass.new(klass, 'ActiveRecord::Migration')
         | 
| 43 54 | 
             
              end      
         | 
| 55 | 
            +
              alias_method :be_migration, :have_migration  
         | 
| 44 56 | 
             
            end
         | 
| @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            module RSpec::RubyContentMatchers
         | 
| 2 | 
            -
              class IncludeModule
         | 
| 3 | 
            -
                attr_reader :module_name | 
| 2 | 
            +
              class IncludeModule < RSpec::RubyContentMatcher
         | 
| 3 | 
            +
                attr_reader :module_name
         | 
| 4 4 |  | 
| 5 5 | 
             
                def initialize module_name
         | 
| 6 6 | 
             
                  @module_name = module_name.to_s.camelize
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 9 | 
             
                def matches?(content)      
         | 
| 10 | 
            -
                   | 
| 10 | 
            +
                  super
         | 
| 11 11 | 
             
                  match_res = (content =~ /include\s+#{module_name}/)
         | 
| 12 12 | 
             
                  if block_given? && match_res
         | 
| 13 13 | 
             
                    ruby_content = content.extend(RSpec::RubyContent::Helpers)
         | 
| @@ -18,12 +18,12 @@ module RSpec::RubyContentMatchers | |
| 18 18 | 
             
                end          
         | 
| 19 19 |  | 
| 20 20 | 
             
                def failure_message
         | 
| 21 | 
            -
                   | 
| 21 | 
            +
                  super
         | 
| 22 22 | 
             
                  "Expected there to be an inclusion of module #{module_name}"
         | 
| 23 23 | 
             
                end 
         | 
| 24 24 |  | 
| 25 25 | 
             
                def negative_failure_message
         | 
| 26 | 
            -
                   | 
| 26 | 
            +
                  super
         | 
| 27 27 | 
             
                  "Did not expect there to be an inclusion of module #{module_name}"
         | 
| 28 28 | 
             
                end
         | 
| 29 29 |  | 
| @@ -1,12 +1,13 @@ | |
| 1 1 | 
             
            module RSpec::RubyContentMatchers
         | 
| 2 | 
            -
              class InheritFrom
         | 
| 2 | 
            +
              class InheritFrom < RSpec::RubyContentMatcher
         | 
| 3 3 | 
             
                attr_reader :klass
         | 
| 4 4 |  | 
| 5 5 | 
             
                def initialize klass
         | 
| 6 6 | 
             
                  @klass = klass.to_s.camelize
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 | 
            -
                def matches?(content) | 
| 9 | 
            +
                def matches?(content)
         | 
| 10 | 
            +
                  super      
         | 
| 10 11 | 
             
                  match_res =~ /class\s+(.*?)<\s+#{klass}(.*)end/
         | 
| 11 12 | 
             
                  if block_given? && match_res
         | 
| 12 13 | 
             
                    ruby_content = $2.strip.extend(RSpec::RubyContent::Helpers)
         | 
| @@ -17,17 +18,20 @@ module RSpec::RubyContentMatchers | |
| 17 18 | 
             
                end          
         | 
| 18 19 |  | 
| 19 20 | 
             
                def failure_message
         | 
| 21 | 
            +
                  super
         | 
| 20 22 | 
             
                  "Expected the class to inherit from #{klass}"
         | 
| 21 23 | 
             
                end 
         | 
| 22 24 |  | 
| 23 25 | 
             
                def negative_failure_message
         | 
| 26 | 
            +
                  super
         | 
| 24 27 | 
             
                  "Did not expect the class to inherit from #{klass}"
         | 
| 25 28 | 
             
                end
         | 
| 26 29 | 
             
              end
         | 
| 27 30 |  | 
| 28 31 | 
             
              def inherit_from(klass)
         | 
| 29 32 | 
             
                InheritFrom.new(klass)
         | 
| 30 | 
            -
              end
         | 
| 33 | 
            +
              end 
         | 
| 34 | 
            +
              alias_method :be_subclass_of, :inherit_from
         | 
| 31 35 |  | 
| 32 36 | 
             
              def be_active_record    
         | 
| 33 37 | 
             
                InheritFrom.new('ActiveRecord::Base')    
         | 
| @@ -80,26 +80,32 @@ module RSpec::FileMatchers | |
| 80 80 | 
             
              def generate_file(relative, type = nil)
         | 
| 81 81 | 
             
                GenerateFile.new(relative, type)
         | 
| 82 82 | 
             
              end
         | 
| 83 | 
            +
              alias_method :have_file, :generate_file
         | 
| 83 84 |  | 
| 84 85 | 
             
              def generate_model(relative)
         | 
| 85 86 | 
             
                GenerateFile.new(relative, :model)
         | 
| 86 87 | 
             
              end
         | 
| 88 | 
            +
              alias_method :have_model, :generate_model
         | 
| 87 89 |  | 
| 88 90 | 
             
              def generate_controller(relative) 
         | 
| 89 91 | 
             
                puts "Generate controller: #{relative}"
         | 
| 90 92 | 
             
                GenerateFile.new(relative, :controller)
         | 
| 91 93 | 
             
              end
         | 
| 94 | 
            +
              alias_method :have_controller, :generate_controller
         | 
| 92 95 |  | 
| 93 96 | 
             
              def generate_helper(relative)
         | 
| 94 97 | 
             
                GenerateFile.new(relative, :helper)
         | 
| 95 98 | 
             
              end
         | 
| 99 | 
            +
              alias_method :have_helper, :generate_helper
         | 
| 96 100 |  | 
| 97 101 | 
             
              def generate_view(relative, action, ext)
         | 
| 98 102 | 
             
                GenerateFile.new("#{relative}/#{action}.#{ext}", :view)
         | 
| 99 103 | 
             
              end
         | 
| 104 | 
            +
              alias_method :have_view, :generate_view
         | 
| 100 105 |  | 
| 101 106 | 
             
              def generate_observer(relative)
         | 
| 102 107 | 
             
                GenerateFile.new(relative, :observer)
         | 
| 103 108 | 
             
              end  
         | 
| 109 | 
            +
              alias_method :have_observer, :generate_observer  
         | 
| 104 110 | 
             
            end
         | 
| 105 111 |  | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,159 @@ | |
| 1 | 
            +
            module RSpec::Rails
         | 
| 2 | 
            +
              module App 
         | 
| 3 | 
            +
                def root_dir
         | 
| 4 | 
            +
                  ::Rails.root
         | 
| 5 | 
            +
                end
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                def app_dir
         | 
| 8 | 
            +
                  File.join(root_dir, 'app')
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def config_dir
         | 
| 12 | 
            +
                  File.join(root_dir, 'config')
         | 
| 13 | 
            +
                end  
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                def db_dir
         | 
| 16 | 
            +
                  File.join(root_dir, 'db')
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def locale_dir
         | 
| 20 | 
            +
                  File.join(root_dir, 'public')
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def model_dir
         | 
| 24 | 
            +
                  File.join(app_dir, 'models')
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                def observer_dir
         | 
| 28 | 
            +
                  model_dir
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                def controller_dir
         | 
| 32 | 
            +
                  File.join(app_dir, 'controllers')
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                def mailer_dir
         | 
| 36 | 
            +
                  File.join(app_dir, 'mailers')
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                def migration_dir
         | 
| 40 | 
            +
                  File.join(db_dir, 'migrations')
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                def helper_dir
         | 
| 44 | 
            +
                  File.join(app_dir, 'helpers')
         | 
| 45 | 
            +
                end  
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                def view_dir
         | 
| 48 | 
            +
                  File.join(app_dir, 'views')
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                def initializer_dir
         | 
| 52 | 
            +
                  File.join(config_dir, 'initializers')
         | 
| 53 | 
            +
                end  
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                def migration_dir
         | 
| 56 | 
            +
                  File.join(db_dir, 'migrations')
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                def locale_dir
         | 
| 60 | 
            +
                  File.join(config_dir, 'locales')
         | 
| 61 | 
            +
                end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                def stylesheet_dir
         | 
| 64 | 
            +
                  File.join(public_dir, 'stylesheets')
         | 
| 65 | 
            +
                end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                def javascript_dir
         | 
| 68 | 
            +
                  File.join(public_dir, 'javascripts')
         | 
| 69 | 
            +
                end      
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                def all_files
         | 
| 72 | 
            +
                  rails_files root_dir
         | 
| 73 | 
            +
                end  
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                def app_files
         | 
| 76 | 
            +
                  rails_app_files
         | 
| 77 | 
            +
                end  
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                def model_files
         | 
| 80 | 
            +
                  rails_app_files :models
         | 
| 81 | 
            +
                end  
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                def controller_files              
         | 
| 84 | 
            +
                  rails_app_files :controllers
         | 
| 85 | 
            +
                end  
         | 
| 86 | 
            +
             | 
| 87 | 
            +
                def mailer_files              
         | 
| 88 | 
            +
                  rails_app_files :mailers
         | 
| 89 | 
            +
                end  
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                def helper_files
         | 
| 92 | 
            +
                  rails_app_files :helpers
         | 
| 93 | 
            +
                end  
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                def observer_files
         | 
| 96 | 
            +
                  rails_app_files :models, '**/*_observer.rb'
         | 
| 97 | 
            +
                end  
         | 
| 98 | 
            +
             | 
| 99 | 
            +
                def view_files                     
         | 
| 100 | 
            +
                  rails_app_files :views
         | 
| 101 | 
            +
                end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                def view_files_html              
         | 
| 104 | 
            +
                  rails_app_files :views, '**/*.html*'
         | 
| 105 | 
            +
                end
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                def view_files_haml                 
         | 
| 108 | 
            +
                  rails_app_files :views, '**/*.haml*'
         | 
| 109 | 
            +
                end
         | 
| 110 | 
            +
             | 
| 111 | 
            +
                def initializer_files
         | 
| 112 | 
            +
                  rails_files initializer_dir
         | 
| 113 | 
            +
                end  
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                def db_files          
         | 
| 116 | 
            +
                  rails_files db_dir
         | 
| 117 | 
            +
                end
         | 
| 118 | 
            +
             | 
| 119 | 
            +
                def migration_files          
         | 
| 120 | 
            +
                  rails_files migration_dir
         | 
| 121 | 
            +
                end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
                def locale_files
         | 
| 124 | 
            +
                  rails_files locale_dir, '**/*.yml'
         | 
| 125 | 
            +
                end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
                def javascript_files
         | 
| 128 | 
            +
                  rails_files javascript_dir, '**/*.js'
         | 
| 129 | 
            +
                end
         | 
| 130 | 
            +
              
         | 
| 131 | 
            +
                def css_files
         | 
| 132 | 
            +
                  rails_files stylesheet_dir, '**/*.css'
         | 
| 133 | 
            +
                end
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                def sass_files
         | 
| 136 | 
            +
                  rails_files stylesheet_dir, '**/*.sass'
         | 
| 137 | 
            +
                end   
         | 
| 138 | 
            +
                
         | 
| 139 | 
            +
                protected
         | 
| 140 | 
            +
             | 
| 141 | 
            +
                RB_FILES = '**/*.rb'
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                def rails_files dir, type=nil, pattern=nil
         | 
| 144 | 
            +
                  path = case type
         | 
| 145 | 
            +
                  when nil
         | 
| 146 | 
            +
                    "#{dir}/#{RB_FILES}"
         | 
| 147 | 
            +
                  when String          
         | 
| 148 | 
            +
                    "#{dir}/#{type}"
         | 
| 149 | 
            +
                  when Symbol
         | 
| 150 | 
            +
                    pattern ? "#{dir}/#{type}/#{pattern}" : "#{dir}/#{type}"
         | 
| 151 | 
            +
                  end
         | 
| 152 | 
            +
                  FileList[path]
         | 
| 153 | 
            +
                end
         | 
| 154 | 
            +
                
         | 
| 155 | 
            +
                def rails_app_files type=nil, pattern='**/*.rb'
         | 
| 156 | 
            +
                  rails_files :app, type, pattern
         | 
| 157 | 
            +
                end
         | 
| 158 | 
            +
              end
         | 
| 159 | 
            +
            end
         |