annotate 2.7.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc DELETED
@@ -1,208 +0,0 @@
1
- == 2.7.0
2
- See https://github.com/ctran/annotate_models/releases/tag/v2.7.0
3
-
4
- == 2.6.9
5
- * Support foreigh key (#241)
6
- * Check if model has skip tag in annotate_model_file (#167)
7
- * Fix issue where serializer-related flags weren't being honored (#246)
8
- * Prefer SQL column type over normalized AR type (#231)
9
-
10
- == 2.6.8
11
- * Nothing annotated unless options[:model_dir] is specified, #234
12
-
13
- == 2.6.7
14
- * Nothing annotated unless options[:model_dir] is specified, #234
15
-
16
- == 2.6.6
17
- * Makes it possible to wrap annotations, #225
18
- * Fix single model generation, #214
19
- * Fix default value for Rails 4.2, #212
20
- * Don't crash on inherited models in subdirectories, #232
21
- * Process model_dir in rake task, #197
22
-
23
- == 2.6.4
24
- * Skip "models/concerns", #194
25
- * Fix #173 where annotate says "Nothing to annotate" in rails 4.2
26
- * Display an error message if not run from the root of the project, #186
27
- * Support rails 4.0 new default test directory, #182
28
- * Add an option to show timestamp in routes "-timestamp", #136
29
- * Skip plain ruby objects if they have the same class name as an ActiveRecord object, #121
30
-
31
- == 2.6.3
32
- * Fix bug of annotate position in routes (#158)
33
-
34
- == 2.6.2
35
- * Retain the current annotate block unless --force is specified
36
- * Always load models, since they may not be autoloaded by Rails
37
- * The pg array type is now detected (see #158)
38
-
39
- == 2.6.0.beta2
40
-
41
- * support for composite_primary_keys (garysweaver)
42
- * bug fix for annotate_one_file (vlado)
43
-
44
- == 2.6.0.beta1
45
-
46
- * It's now possible to use Annotate in standalone ActiveRecord (non-Rails)
47
- projects again.
48
- * Adding note that Markdown is actually MultiMarkdown, and recommending the use
49
- of the `kramdown` engine for parsing it.
50
- * Improved Markdown formatting considerably.
51
- * Bugfix: Needed to use inline-code tag for column and table names, otherwise
52
- underscores would cause havok with the formatting.
53
- * Bugfix: Markdown syntax was incorrect (can't have trailing spaces before the
54
- closing marker for an emphasis tag).
55
- * Bugfix: Remove-annotations wasn't properly finding test/spec files, and
56
- wasn't even looking for FactoryGirl factories under the new naming
57
- convention.
58
- * Bugfix: Load the Rakefile from the current directory, not the first Rakefile
59
- in our load path.
60
- * Added support for new FactoryGirl naming convention.
61
- * Fix behavior of route annotations in newer versions of Rake that don't spit
62
- out the CWD as their first line of output.
63
- * Overhauled integration testing system to be much easier to work with, better
64
- compartmentalized, and so forth -- at the cost that you must be using RVM to
65
- utilize it. (It'll spit out appropriate pending messages if you don't.)
66
- Also includes a mode for "tinkering" by hand with a scenario, and won't let
67
- you run it through rspect if the repo is in a dirty state. Added appropriate
68
- rake tasks to help with all of this.
69
- * Routes can now be appended, pre-pended, or removed -- and do sane things in
70
- all cases.
71
- * Expose all `position_*` variables as CLI params.
72
- * Make `ENV ['position']` work as a default for all the `ENV ['position_*']`
73
- variables.
74
- * Make rake tasks more resilient to unusual circumstances / code loading
75
- behavior.
76
- * Resolve annotate vs. annotate_models ambiguity once and for all by settling
77
- on `annotate_models` _and_ `annotate_routes`. This avoids a name collision
78
- with RMagick while not needlessly overloading the term.
79
- * Fixed that schema kept prepending additional newlines
80
- * Updates to make annotate smarter about when to touch a model
81
- * Recognize column+type, and don't change a file unless the column+type
82
- combination of the new schema are different than that of the old (i.e., don't
83
- regenerate if columns happen to be in a different order. That's just how life
84
- is sometimes)
85
- * Change annotate to use options hash instead of ENV.
86
-
87
- == 2.5.0
88
-
89
- * Works better with Rails 3
90
- * Bugfix: schema kept prepending additional newlines
91
- * Updates to make annotate smarter about when to touch a model
92
- * Recognize column+type, and don't change a file unless the column+type combination of the new schema are different than that of the old (i.e., don't regenerate if columns happen to be in a different order. That's just how life is sometimes.)
93
- * Grab old specification even if it has \r\n as line endings rather than pure \ns
94
- * Various warning and specification fixes
95
- * Fix "no such file to load -- annotate/annotate_models (MissingSourceFile)"
96
- error (require statements in tasks now use full path to lib files)
97
- * warn about macros, to mitigate when we're included during a production run,
98
- not just a rakefile run -- possibly at the expense of too much noise
99
- * Adding rake as a runtime dependency
100
- * If the schema is already in the model file, it will be replaced into the same
101
- location. If it didn't previously exist, it'll be placed according to the
102
- "position", as before.
103
- * Allow task loading from Rakefile for gems (plugin installation already
104
- auto-detects).
105
- * Add skip_on_db_migrate option as well for people that don't want it
106
- * Fix options parsing to convert strings to proper booleans
107
- * Add support for Fabrication fabricators
108
- * Leave magic encoding comment intact
109
- * Fix issue #14 - RuntimeError: Already memoized
110
- * Count a model as 'annotated' if any of its tests/fixtures are annotated
111
- * Support FactoryGirl
112
- * Support :change migrations (Rails 3.1)
113
- * Allow models with non-standard capitalization
114
- * Widen type column so we can handle longtexts with chopping things off.
115
- * Skip trying to get list of models from commandline when running via Rake (was
116
- preventing the use of multiple rake tasks in one command if one of them was
117
- db:migrate).
118
- * Add ability to skip annotations for a model by adding
119
- '# -*- SkipSchemaAnnotations' anywhere in the file.
120
- * Don't show column limits for integer and boolean types.
121
- * Add sorting for columns and indexes. (Helpful for out-of-order migration
122
- execution. Use --sort if you want this.)
123
- * Annotate unit tests in subfolders.
124
- * Add generator to install rakefile that automatically annotates on db:migrate.
125
- * Correct Gemfile to clarify which environments need which gems.
126
- * Add an .rvmrc to facilitate clean development.
127
- * Refactor out ActiveRecord monkey-patch to permit extending without
128
- side-effects.
129
- * Use ObjectSpace to locate models to facilitate handling of models with
130
- non-standard capitalization.
131
- Note that this still requires that the inflector be configured to understand
132
- the special case.
133
- * Shore up test cases a bit.
134
- * Merge against many of the older branches on Github whose functionality is
135
- already reflected to reduce confusion about what is and is not implemented
136
- here.
137
- * Accept String or Symbol for :position (et al) options.
138
- * Add RDoc output formatting as an option.
139
- * Add Markdown output formatting as an option.
140
- * Add option to force annotation regeneration.
141
- * Add new configuration option for controlling where info is placed in
142
- fixtures/factories.
143
- * Fix for models without tables.
144
- * Fix gemspec generation now that Jeweler looks at Gemfile.
145
- * Fix warning: `NOTE: Gem::Specification#default_executable= is deprecated with
146
- no replacement. It will be removed on or after 2011-10-01.`
147
- * Fix handling of files with no trailing newline when putting annotations at
148
- the end of the file.
149
- * Now works on tables with no primary key.
150
- * --format=markdown option
151
- * --trace option to help debug "Unable to annotate" errors
152
- * "Table name" annotation (if table name is different from model name)
153
- * "Human name" annotation (enabling translation to non-English locales)
154
- * Fix JRuby ObjectSpace compatibility bug (https://github.com/ctran/annotate_models/pull/85)
155
- * Fix FactoryGirl compatibility bug (https://github.com/ctran/annotate_models/pull/82)
156
-
157
- == 2.4.2 2009-11-21
158
-
159
- * Annotates (spec|test)/factories/<model>_factory.rb files
160
-
161
- == 2.4.1 2009-11-20
162
-
163
- * Annotates thoughtbot's factory_girl factories (test/factories/<model>_factory.rb)
164
- * Move default annotation position back to top
165
-
166
- == 2.4.0 2009-12-13
167
-
168
- * Incorporated lots of patches from the Github community, including support for
169
- Blueprints fixtures
170
- * Several bug fixes
171
-
172
- == 2.1 2009-10-18
173
-
174
- * New options
175
- * -R to require additional files before loading the models
176
- * -i to show database indexes in annotations
177
- * -e to exclude annotating tests or fixtures
178
- * -m to include the migration version number in the annotation
179
- * --model-dir to annotate model files stored a different place than app/models
180
- * Ignore unknown macros ('acts_as_whatever')
181
-
182
- == 2.0 2009-02-03
183
-
184
- * Add annotate_models plugin fork additions
185
- * Annotates Rspec and Test Unit models
186
- * Annotates Object Daddy exemplars
187
- * Annotates geometrical columns
188
- * Add AnnotateRoutes rake task
189
- * Up gem structure to newgem defaults
190
-
191
- == 1.0.4 2008-09-04
192
-
193
- * Only update modified models since last run, thanks to sant0sk1
194
-
195
- == 1.0.3 2008-05-02
196
-
197
- * Add misc changes from Dustin Sallings and Henrik N
198
- * Remove trailing whitespace
199
- * More intuitive info messages
200
- * Update README file with update-to-date example
201
-
202
- == 1.0.2 2008-03-22
203
-
204
- * Add contributions from Michael Bumann (http://github.com/bumi)
205
- * added an option "position" to choose to put the annotation,
206
- * spec/fixtures now also get annotated
207
- * added a task to remove the annotations
208
- * these options can be specified from command line as -d and -p [before|after]
data/README.rdoc DELETED
@@ -1,255 +0,0 @@
1
- == Annotate (aka AnnotateModels)
2
-
3
- {<img src="https://badge.fury.io/rb/annotate.svg" alt="Gem Version" />}[http://badge.fury.io/rb/annotate]
4
- {<img src="https://travis-ci.org/ctran/annotate_models.png" />}[https://travis-ci.org/ctran/annotate_models]
5
- {<img src="https://gemnasium.com/ctran/annotate_models.png" />}[https://gemnasium.com/ctran/annotate_models]
6
-
7
- Add a comment summarizing the current schema to the top or bottom of each of
8
- your...
9
-
10
- - ActiveRecord models
11
- - Fixture files
12
- - Tests and Specs
13
- - Object Daddy exemplars
14
- - Machinist blueprints
15
- - Fabrication fabricators
16
- - Thoughtbot's factory_girl factories, i.e. the (spec|test)/factories/<model>_factory.rb files
17
- - routes.rb file (for Rails projects)
18
-
19
- The schema comment looks like this:
20
-
21
- # == Schema Info
22
- #
23
- # Table name: line_items
24
- #
25
- # id :integer(11) not null, primary key
26
- # quantity :integer(11) not null
27
- # product_id :integer(11) not null
28
- # unit_price :float
29
- # order_id :integer(11)
30
- #
31
-
32
- class LineItem < ActiveRecord::Base
33
- belongs_to :product
34
- . . .
35
-
36
- It also annotates geometrical columns, geom type and srid, when using
37
- +SpatialAdapter+, +PostgisAdapter+ or +PostGISAdapter+:
38
-
39
- # == Schema Info
40
- #
41
- # Table name: trips
42
- #
43
- # local :geometry point, 4326
44
- # path :geometry line_string, 4326
45
-
46
- Also, if you pass the -r option, it'll annotate routes.rb with the output of
47
- +rake routes+.
48
-
49
-
50
- == Install
51
-
52
- Into Gemfile from rubygems.org:
53
-
54
- gem 'annotate'
55
-
56
- Into Gemfile from Github:
57
-
58
- gem 'annotate', github: 'ctran/annotate_models'
59
-
60
- Into environment gems from rubygems.org:
61
-
62
- gem install annotate
63
-
64
- Into environment gems from Github checkout:
65
-
66
- git clone git://github.com/ctran/annotate_models.git annotate_models
67
- cd annotate_models
68
- rake build
69
- gem install pkg/annotate-*.gem
70
-
71
-
72
- == Usage
73
-
74
- (If you used the Gemfile install, prefix the below commands with +bundle exec+.)
75
-
76
- === Usage in Rails
77
-
78
- To annotate all your models, tests, fixtures, and factories:
79
-
80
- cd /path/to/app
81
- annotate
82
-
83
- To annotate just your models, tests, and factories:
84
-
85
- annotate --exclude fixtures
86
-
87
- To annotate just your models:
88
-
89
- annotate --exclude tests,fixtures,factories,serializers
90
-
91
- To annotate routes.rb:
92
-
93
- annotate --routes
94
-
95
- To remove model/test/fixture/factory/serializer annotations:
96
-
97
- annotate --delete
98
-
99
- To remove routes.rb annotations:
100
-
101
- annotate --routes --delete
102
-
103
- To automatically annotate every time you run +db:migrate+, either run +rails g annotate:install+ or add +Annotate.load_tasks+ to your `Rakefile`. See the [configuration in Rails](#configuration-in-rails) section for more info.
104
-
105
- === Usage Outside of Rails
106
-
107
- Everything above applies, except that +--routes+ is not meaningful, and you will
108
- probably need to explicitly set one or more +--require+ option(s), and/or one
109
- or more +--model-dir+ options to inform annotate about the structure of your
110
- project and help it bootstrap and load the relevant code.
111
-
112
-
113
- == Configuration
114
-
115
- If you want to always skip annotations on a particular model, add this string
116
- anywhere in the file:
117
-
118
- # -*- SkipSchemaAnnotations
119
-
120
- === Configuration in Rails
121
-
122
- To generate a configuration file (in the form of a +.rake+ file), to set
123
- default options:
124
-
125
- rails g annotate:install
126
-
127
- Edit this file to control things like output format, where annotations are
128
- added (top or bottom of file), and in which artifacts.
129
-
130
- The generated rakefile +lib/tasks/auto_annotate_models.rake+ also contains
131
- `Annotate.load_tasks`. This adds a few rake tasks which duplicate command-line
132
- functionality:
133
-
134
- rake annotate_models # Add schema information (as comments) to model and fixture files
135
- rake annotate_routes # Adds the route map to routes.rb
136
- rake remove_annotation # Remove schema information from model and fixture files
137
-
138
- By default, once you've generated a configuration file, annotate will be
139
- executed whenever you run +rake db:migrate+ (but only in development mode).
140
- If you want to disable this behavior permanently, edit the +.rake+ file and
141
- change:
142
-
143
- 'skip_on_db_migrate' => 'false',
144
-
145
- To:
146
-
147
- 'skip_on_db_migrate' => 'true',
148
-
149
- If you want to run +rake db:migrate+ as a one-off without running annotate,
150
- you can do so with a simple environment variable, instead of editing the
151
- +.rake+ file:
152
-
153
- skip_on_db_migrate=1 rake db:migrate
154
-
155
-
156
- == Options
157
-
158
- Usage: annotate [options] [model_file]*
159
- -d, --delete Remove annotations from all model files or the routes.rb file
160
- -p, --position [before|top|after|bottom] Place the annotations at the top (before) or the bottom (after) of the model/test/fixture/factory/routes file(s)
161
- --pc, --position-in-class [before|top|after|bottom]
162
- Place the annotations at the top (before) or the bottom (after) of the model file
163
- --pf, --position-in-factory [before|top|after|bottom]
164
- Place the annotations at the top (before) or the bottom (after) of any factory files
165
- --px, --position-in-fixture [before|top|after|bottom]
166
- Place the annotations at the top (before) or the bottom (after) of any fixture files
167
- --pt, --position-in-test [before|top|after|bottom]
168
- Place the annotations at the top (before) or the bottom (after) of any test files
169
- --pr, --position-in-routes [before|top|after|bottom]
170
- Place the annotations at the top (before) or the bottom (after) of the routes.rb file
171
- --ps, --position-in-serializer [before|top|after|bottom]
172
- Place the annotations at the top (before) or the bottom (after) of the serializer files
173
- --w, --wrapper STR Wrap annotation with the text passed as parameter.
174
- If --w option is used, the same text will be used as opening and closing
175
- --wo, --wrapper-open STR Annotation wrapper opening.
176
- --wc, --wrapper-close STR Annotation wrapper closing
177
- -r, --routes Annotate routes.rb with the output of 'rake routes'
178
- -v, --version Show the current version of this gem
179
- -m, --show-migration Include the migration version number in the annotation
180
- -i, --show-indexes List the table's database indexes in the annotation
181
- -k, --show-foreign-keys List the table's foreign key constraints in the annotation
182
- -s, --simple-indexes Concat the column's related indexes in the annotation
183
- --model-dir dir Annotate model files stored in dir rather than app/models, separate multiple dirs with comas
184
- --ignore-model-subdirects Ignore subdirectories of the models directory
185
- --sort Sort columns alphabetically, rather than in creation order
186
- -R, --require path Additional file to require before loading models, may be used multiple times
187
- -e [tests,fixtures,factories,serializers],
188
- --exclude Do not annotate fixtures, test files, factories, and/or serializers
189
- -f [bare|rdoc|markdown], Render Schema Infomation as plain/RDoc/Markdown
190
- --format
191
- --force Force new annotations even if there are no changes.
192
- --timestamp Include timestamp in (routes) annotation
193
- --trace If unable to annotate a file, print the full stack trace, not just the exception message.
194
- -I, --ignore-columns REGEX don't annotate columns that match a given REGEX (i.e., `annotate -I '^(id|updated_at|created_at)'`
195
-
196
-
197
-
198
- == Sorting
199
-
200
- By default, columns will be sorted in database order (i.e. the order in which
201
- migrations were run).
202
-
203
- If you prefer to sort alphabetically so that the results of
204
- annotation are consistent regardless of what order migrations are executed in,
205
- use +--sort+.
206
-
207
-
208
- == Markdown
209
-
210
- The format produced is actually MultiMarkdown, making use of the syntax
211
- extension for tables. It's recommended you use +kramdown+ as your parser if
212
- you want to use this format. If you're using +yard+ to generate documentation,
213
- specify a format of markdown with +kramdown+ as the provider by adding this to
214
- your +.yardopts+ file:
215
-
216
- --markup markdown
217
- --markup-provider kramdown
218
-
219
- Be sure to add this to your +Gemfile+ as well:
220
-
221
- gem 'kramdown', :groups => [:development], :require => false
222
-
223
-
224
- == WARNING
225
-
226
- <b>Don't add text after an automatically-created comment block.</b> This tool
227
- will blow away the initial/final comment block in your models if it looks like
228
- it was previously added by this gem.
229
-
230
- Be sure to check the changes that this tool makes! If you are using Git,
231
- you may simply check your project's status after running +annotate+:
232
-
233
- $ git status
234
-
235
- If you are not using a VCS (like Git, Subversion or similar), please tread
236
- extra carefully, and consider using one.
237
-
238
- == Links
239
-
240
- - Factory Girl: http://github.com/thoughtbot/factory_girl
241
- - Object Daddy: http://github.com/flogic/object_daddy
242
- - Machinist: http://github.com/notahat/machinist
243
- - Fabrication: http://github.com/paulelliott/fabrication
244
- - SpatialAdapter: http://github.com/pdeffendol/spatial_adapter
245
- - PostgisAdapter: http://github.com/nofxx/postgis_adapter
246
- - PostGISAdapter: https://github.com/dazuma/activerecord-postgis-adapter
247
-
248
-
249
- == License
250
-
251
- Released under the same license as Ruby. No Support. No Warranty.
252
-
253
- == Authors
254
-
255
- {See AUTHORS.rdoc}[link:AUTHORS.rdoc].