Commit 7494c64d by fistfvck

Merge remote branch 'bitaxis/master' into restart

Conflicts: History.txt annotate.gemspec lib/annotate/annotate_models.rb
parents efe98369 77a47502
== 2.4.2 2009-11-21
* Annotates (spec|test)/factories/<model>_factory.rb files
== 2.4.1 2009-11-20
* Annotates thoughtbot's factory_girl factories (test/factories/<model>_factory.rb)
* Move default annotation position back to top
== 2.4.0 2009-12-13 == 2.4.0 2009-12-13
* Incorporated lots of patches from the Github community, including support for Blueprints fixtures * Incorporated lots of patches from the Github community, including support for Blueprints fixtures
......
...@@ -7,6 +7,7 @@ Add a comment summarizing the current schema to the top or bottom of each of you ...@@ -7,6 +7,7 @@ Add a comment summarizing the current schema to the top or bottom of each of you
* Tests and Specs * Tests and Specs
* Object Daddy exemplars * Object Daddy exemplars
* Machinist blueprints * Machinist blueprints
* Thoughtbot's factory_girl factories, i.e. the (spec|test)/factories/<model>_factory.rb files
The schema comment looks like this: The schema comment looks like this:
...@@ -46,8 +47,8 @@ From github: ...@@ -46,8 +47,8 @@ From github:
git clone git://github.com/ctran/annotate_models.git annotate git clone git://github.com/ctran/annotate_models.git annotate
cd annotate cd annotate
rake gem gem build annotate.gemspec
sudo gem install pkg/annotate-*.gem sudo gem install annotate-<version>.gem
== USAGE == USAGE
...@@ -92,7 +93,8 @@ Warning: ImageMagick installs a tool called `annotate` too (if you're using MacP ...@@ -92,7 +93,8 @@ Warning: ImageMagick installs a tool called `annotate` too (if you're using MacP
-s, --simple-indexes Concat the column's related indexes in the annotation -s, --simple-indexes Concat the column's related indexes in the annotation
--model-dir dir Annotate model files stored in dir rather than app/models --model-dir dir Annotate model files stored in dir rather than app/models
-R, --require path Additional files to require before loading models -R, --require path Additional files to require before loading models
-e, --exclude [tests,fixtures] Do not annotate fixtures, test files, or both -e [tests,fixtures,factories] Do not annotate fixtures, test files, and/or factories
--exclude
== WARNING == WARNING
...@@ -106,7 +108,7 @@ to an automatically created comment block. ...@@ -106,7 +108,7 @@ to an automatically created comment block.
== LINKS == LINKS
* Factory Girl => http://github.com/thoughtbot/factory_girl (NOT IMPLEMENTED) * Factory Girl => http://github.com/thoughtbot/factory_girl
* Object Daddy => http://github.com/flogic/object_daddy * Object Daddy => http://github.com/flogic/object_daddy
* SpatialAdapter => http://github.com/pdeffendol/spatial_adapter * SpatialAdapter => http://github.com/pdeffendol/spatial_adapter
* PostgisAdapter => http://github.com/nofxx/postgis_adapter * PostgisAdapter => http://github.com/nofxx/postgis_adapter
...@@ -138,5 +140,6 @@ Modifications by: ...@@ -138,5 +140,6 @@ Modifications by:
- Bob Potter - http://github.com/bpot - Bob Potter - http://github.com/bpot
- Gavin Montague - http://github.com/govan/ - Gavin Montague - http://github.com/govan/
- Alexander Semyonov - http://github.com/rotuka/ - Alexander Semyonov - http://github.com/rotuka/
- Nathan Brazil - http://github.com/bitaxis/
and many others that I may have missed to add. and many others that I may have missed to add.
--- ---
:major: 2 :major: 2
:minor: 4 :minor: 4
:patch: 0 :patch: 2
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = %q{annotate} s.name = %q{annotate}
s.version = "2.4.0" s.version = "2.4.2"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Cuong Tran", "Alex Chaffee", "Marcos Piccinini"] s.authors = ["Cuong Tran", "Alex Chaffee", "Marcos Piccinini"]
......
...@@ -57,7 +57,7 @@ OptionParser.new do |opts| ...@@ -57,7 +57,7 @@ OptionParser.new do |opts|
end end
end end
opts.on('-e', '--exclude [tests,fixtures]', Array, "Do not annotate fixtures, test files, or both") do |exclusions| opts.on('-e', '--exclude [tests,fixtures,factories]', Array, "Do not annotate fixtures, test files, and/or factories") do |exclusions|
exclusions.each { |exclusion| ENV["exclude_#{exclusion}"] = "yes" } exclusions.each { |exclusion| ENV["exclude_#{exclusion}"] = "yes" }
end end
......
...@@ -196,6 +196,16 @@ module AnnotateModels ...@@ -196,6 +196,16 @@ module AnnotateModels
end end
end end
end end
unless ENV['exclude_factories']
[
File.join(FACTORY_GIRL_SPEC_DIR, "#{model_name}_factory.rb"), # spec/factories
File.join(FACTORY_GIRL_TEST_DIR, "#{model_name}_factory.rb"), # test/factories
].each do |file|
annotate_one_file(file, info, options_with_position(options, :position_in_factory))
end
end
annotated annotated
end end
...@@ -314,6 +324,11 @@ module AnnotateModels ...@@ -314,6 +324,11 @@ module AnnotateModels
remove_annotation_of_file(file) if File.exist?(file) remove_annotation_of_file(file) if File.exist?(file)
end end
[ File.join(FACTORY_GIRL_SPEC_DIR, "#{klass.name.underscore}_factory.rb"),
File.join(FACTORY_GIRL_TEST_DIR, "#{klass.name.underscore}_factory.rb")].each do |file|
remove_annotation_of_file(file) if File.exist?(file)
end
end end
rescue Exception => e rescue Exception => e
puts "Unable to annotate #{file}: #{e.message}" puts "Unable to annotate #{file}: #{e.message}"
......
...@@ -3,6 +3,7 @@ task :annotate_models => :environment do ...@@ -3,6 +3,7 @@ task :annotate_models => :environment do
require File.join(File.dirname(__FILE__), '..','annotate','annotate_models') require File.join(File.dirname(__FILE__), '..','annotate','annotate_models')
options={} options={}
options[:position_in_class] = ENV['position_in_class'] || ENV['position'] || :before options[:position_in_class] = ENV['position_in_class'] || ENV['position'] || :before
options[:position_in_factory] = ENV['position_in_factory'] || ENV['position'] || :before
options[:position_in_fixture] = ENV['position_in_fixture'] || ENV['position'] || :before options[:position_in_fixture] = ENV['position_in_fixture'] || ENV['position'] || :before
options[:show_indexes] = ENV['show_indexes'] options[:show_indexes] = ENV['show_indexes']
options[:simple_indexes] = ENV['simple_indexes'] options[:simple_indexes] = ENV['simple_indexes']
......
TODO TODO
----- -----
change default position back to "top" for all
add "top" and "bottom" as synonyms for "before" and "after" add "top" and "bottom" as synonyms for "before" and "after"
change 'exclude' to 'only' (double negatives are not unconfusing) change 'exclude' to 'only' (double negatives are not unconfusing)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment