class RailsBestPractices::OptionParser
Public Class Methods
parse!(argv = ARGV)
click to toggle source
Usage: rails_best_practices [options] path
-d, --debug debug mode --silent silent mode -f, --format FORMAT output format (text, html, yaml, json, xml) --output-file FILE output html file for the analyzing result --without-color only output plain text without color --with-atom open file by atom in html format --with-textmate open file by textmate in html format --with-vscode open file by vscode in html format --with-sublime open file by sublime in html format (requires subl-handler) --with-mvim open file by mvim in html format --with-github GITHUB_NAME open file on github in html format, GITHUB_NAME is like railsbp/rails-bestpractices.com --with-git display git commit and username, only support html format --with-hg display hg commit and username, only support html format --template TEMPLATE customize erb template --vendor include vendor files --spec include spec files --test include test files --features include features files -x, --exclude PATTERNS don't analyze files matching a pattern (comma-separated regexp list) -o, --only PATTERNS analyze files only matching a pattern (comma-separated regexp list) -g, --generate generate configuration yaml -v, --version show this version -h, --help show this message
# File lib/rails_best_practices/option_parser.rb, line 34 def self.parse!(argv = ARGV) options = {} OptParse.new do |opts| opts.default_argv = argv opts.banner = 'Usage: rails_best_practices [options] path' opts.on('-d', '--debug', 'Debug mode') do options['debug'] = true end opts.on('-f', '--format FORMAT', 'output format (text, html, yaml, json, xml)') do |format| options['format'] = format end opts.on('--without-color', 'only output plain text without color') do options['without-color'] = true end opts.on('--with-atom', 'open file by atom in html format') do options['with-atom'] = true end opts.on('--with-textmate', 'open file by textmate in html format') do options['with-textmate'] = true end opts.on('--with-vscode', 'open file by vscode in html format') do options['with-vscode'] = true end opts.on('--with-sublime', 'open file by sublime in html format') do options['with-sublime'] = true end opts.on('--with-mvim', 'open file by mvim in html format') do options['with-mvim'] = true end opts.on('--with-github GITHUB_NAME', 'open file on github in html format') do |github_name| options['with-github'] = true options['github-name'] = github_name end opts.on('--last-commit-id COMMIT_ID', 'last commit id') do |commit_id| options['last-commit-id'] = commit_id end opts.on('--with-hg', 'display hg commit and username, only support html format') do options['with-hg'] = true end opts.on('--with-git', 'display git commit and username, only support html format') do options['with-git'] = true end opts.on('--template TEMPLATE', 'customize erb template') do |template| options['template'] = template end opts.on('--output-file OUTPUT_FILE', 'output html file for the analyzing result') do |output_file| options['output-file'] = output_file end opts.on('--silent', 'silent mode') do options['silent'] = true end %w[vendor spec test features].each do |pattern| opts.on("--#{pattern}", "include #{pattern} files") do options[pattern] = true end end opts.on_tail('-v', '--version', 'Show this version') do require 'rails_best_practices/version' puts RailsBestPractices::VERSION exit end opts.on_tail('-h', '--help', 'Show this message') do puts opts exit end opts.on( '-x', '--exclude PATTERNS', "Don't analyze files matching a pattern", '(comma-separated regexp list)' ) do |list| begin options['exclude'] = list.split(',').map { |x| Regexp.new x } rescue RegexpError => e raise OptionParser::InvalidArgument, e.message end end opts.on( '-o', '--only PATTERNS', 'Analyze files only matching a pattern', '(comma-separated regexp list)' ) do |list| begin options['only'] = list.split(',').map { |x| Regexp.new x } rescue RegexpError => e raise OptionParser::InvalidArgument, e.message end end opts.on('-g', '--generate', 'Generate configuration yaml') do options['generate'] = true end opts.on( '-c', '--config CONFIG_PATH', 'configuration file location (defaults to config/rails_best_practices.yml)' ) do |config_path| options['config'] = config_path end opts.parse! end options end