opts.on('-v','--version','Show the current version of this gem')do
option_parser.on('-v','--version','Show the current version of this gem')do
puts"annotate v#{Annotate.version}"
puts"annotate v#{Annotate.version}"
options[:exit]=true
@options[:exit]=true
end
end
opts.on('-m','--show-migration','Include the migration version number in the annotation')do
option_parser.on('-m','--show-migration','Include the migration version number in the annotation')do
ENV['include_version']='yes'
env['include_version']='yes'
end
end
opts.on('-k','--show-foreign-keys',
option_parser.on('-k','--show-foreign-keys',
"List the table's foreign key constraints in the annotation")do
"List the table's foreign key constraints in the annotation")do
ENV['show_foreign_keys']='yes'
env['show_foreign_keys']='yes'
end
end
opts.on('--ck',
option_parser.on('--ck',
'--complete-foreign-keys','Complete foreign key names in the annotation')do
'--complete-foreign-keys','Complete foreign key names in the annotation')do
ENV['show_foreign_keys']='yes'
env['show_foreign_keys']='yes'
ENV['show_complete_foreign_keys']='yes'
env['show_complete_foreign_keys']='yes'
end
end
opts.on('-i','--show-indexes',
option_parser.on('-i','--show-indexes',
"List the table's database indexes in the annotation")do
"List the table's database indexes in the annotation")do
ENV['show_indexes']='yes'
env['show_indexes']='yes'
end
end
opts.on('-s','--simple-indexes',
option_parser.on('-s','--simple-indexes',
"Concat the column's related indexes in the annotation")do
"Concat the column's related indexes in the annotation")do
ENV['simple_indexes']='yes'
env['simple_indexes']='yes'
end
end
opts.on('--model-dir dir',
option_parser.on('--model-dir dir',
"Annotate model files stored in dir rather than app/models, separate multiple dirs with commas")do|dir|
"Annotate model files stored in dir rather than app/models, separate multiple dirs with commas")do|dir|
ENV['model_dir']=dir
env['model_dir']=dir
end
end
opts.on('--root-dir dir',
option_parser.on('--root-dir dir',
"Annotate files stored within root dir projects, separate multiple dirs with commas")do|dir|
"Annotate files stored within root dir projects, separate multiple dirs with commas")do|dir|
ENV['root_dir']=dir
env['root_dir']=dir
end
end
opts.on('--ignore-model-subdirects',
option_parser.on('--ignore-model-subdirects',
"Ignore subdirectories of the models directory")do|_dir|
"Ignore subdirectories of the models directory")do|_dir|
ENV['ignore_model_sub_dir']='yes'
env['ignore_model_sub_dir']='yes'
end
end
opts.on('--sort',
option_parser.on('--sort',
"Sort columns alphabetically, rather than in creation order")do|_dir|
"Sort columns alphabetically, rather than in creation order")do|_dir|
ENV['sort']='yes'
env['sort']='yes'
end
end
opts.on('--classified-sort',
option_parser.on('--classified-sort',
"Sort columns alphabetically, but first goes id, then the rest columns, then the timestamp columns and then the association columns")do|_dir|
"Sort columns alphabetically, but first goes id, then the rest columns, then the timestamp columns and then the association columns")do|_dir|
ENV['classified_sort']='yes'
env['classified_sort']='yes'
end
end
opts.on('-R','--require path',
option_parser.on('-R','--require path',
"Additional file to require before loading models, may be used multiple times")do|path|
"Additional file to require before loading models, may be used multiple times")do|path|
ENV['require']=if!ENV['require'].blank?
env['require']=if!env['require'].blank?
ENV['require']+",#{path}"
env['require']+",#{path}"
else
else
path
path
end
end
end
end
opts.on('-e','--exclude [tests,fixtures,factories,serializers]',Array,"Do not annotate fixtures, test files, factories, and/or serializers")do|exclusions|
option_parser.on('-e','--exclude [tests,fixtures,factories,serializers]',Array,"Do not annotate fixtures, test files, factories, and/or serializers")do|exclusions|
opts.on('-f','--format [bare|rdoc|markdown]',FORMAT_TYPES,'Render Schema Infomation as plain/RDoc/Markdown')do|fmt|
option_parser.on('-f','--format [bare|rdoc|markdown]',FORMAT_TYPES,'Render Schema Infomation as plain/RDoc/Markdown')do|fmt|
ENV["format_#{fmt}"]='yes'
env["format_#{fmt}"]='yes'
end
end
opts.on('--force','Force new annotations even if there are no changes.')do|_force|
option_parser.on('--force','Force new annotations even if there are no changes.')do|_force|
ENV['force']='yes'
env['force']='yes'
end
end
opts.on('--frozen','Do not allow to change annotations. Exits non-zero if there are going to be changes to files.')do
option_parser.on('--frozen','Do not allow to change annotations. Exits non-zero if there are going to be changes to files.')do
ENV['frozen']='yes'
env['frozen']='yes'
end
end
opts.on('--timestamp','Include timestamp in (routes) annotation')do
option_parser.on('--timestamp','Include timestamp in (routes) annotation')do
ENV['timestamp']='true'
env['timestamp']='true'
end
end
opts.on('--trace','If unable to annotate a file, print the full stack trace, not just the exception message.')do|_value|
option_parser.on('--trace','If unable to annotate a file, print the full stack trace, not just the exception message.')do|_value|
ENV['trace']='yes'
env['trace']='yes'
end
end
opts.on('-I','--ignore-columns REGEX',"don't annotate columns that match a given REGEX (i.e., `annotate -I '^(id|updated_at|created_at)'`")do|regex|
option_parser.on('-I','--ignore-columns REGEX',"don't annotate columns that match a given REGEX (i.e., `annotate -I '^(id|updated_at|created_at)'`")do|regex|
ENV['ignore_columns']=regex
env['ignore_columns']=regex
end
end
opts.on('--ignore-routes REGEX',"don't annotate routes that match a given REGEX (i.e., `annotate -I '(mobile|resque|pghero)'`")do|regex|
option_parser.on('--ignore-routes REGEX',"don't annotate routes that match a given REGEX (i.e., `annotate -I '(mobile|resque|pghero)'`")do|regex|
ENV['ignore_routes']=regex
env['ignore_routes']=regex
end
end
opts.on('--hide-limit-column-types VALUES',"don't show limit for given column types, separated by commas (i.e., `integer,boolean,text`)")do|values|
option_parser.on('--hide-limit-column-types VALUES',"don't show limit for given column types, separated by commas (i.e., `integer,boolean,text`)")do|values|
ENV['hide_limit_column_types']=values.to_s
env['hide_limit_column_types']=values.to_s
end
end
opts.on('--hide-default-column-types VALUES',"don't show default for given column types, separated by commas (i.e., `json,jsonb,hstore`)")do|values|
option_parser.on('--hide-default-column-types VALUES',"don't show default for given column types, separated by commas (i.e., `json,jsonb,hstore`)")do|values|
ENV['hide_default_column_types']=values.to_s
env['hide_default_column_types']=values.to_s
end
end
opts.on('--ignore-unknown-models',"don't display warnings for bad model files")do|_values|
option_parser.on('--ignore-unknown-models',"don't display warnings for bad model files")do|_values|
ENV['ignore_unknown_models']='true'
env['ignore_unknown_models']='true'
end
end
opts.on('--with-comment',"include database comments in model annotations")do|_values|
option_parser.on('--with-comment',"include database comments in model annotations")do|_values|