annotate 2.7.0 → 3.1.1

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/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].