class CodeQuality::CLI::Application
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/code_quality/cli.rb, line 11 def initialize super @name = "code_quality" end
Public Instance Methods
__version()
click to toggle source
allow option “–version”
# File lib/code_quality/cli.rb, line 74 def __version ["--version", "-V", "Display the program version.", lambda do |_value| puts "CodeQuality #{CodeQuality::VERSION}" exit end] end
find_rakefile_location()
click to toggle source
allows running `code_quality` without a Rakefile
Calls superclass method
# File lib/code_quality/cli.rb, line 84 def find_rakefile_location if (location = super).nil? [rakefile_path, Dir.pwd] else location end end
handle_options()
click to toggle source
allow option “–help”
# File lib/code_quality/cli.rb, line 36 def handle_options options.rakelib = ["rakelib"] options.trace_output = $stderr OptionParser.new do |opts| opts.separator "Run code_quality for a ruby/rails project, e.g.:" opts.separator " code_quality lowest_score=90 rubocop_max_offenses=100 metrics=stats,rails_best_practices,roodi rails_best_practices_max_offenses=10 roodi_max_offenses=10" opts.separator "" opts.separator "Show available tasks:" opts.separator " code_quality -T" opts.separator "" opts.separator "Invoke an audit task:" opts.separator " code_quality AUDIT_TASK" opts.separator "" opts.separator "Invoke all security audit tasks:" opts.separator " code_quality security_audit" opts.separator "" opts.separator "Invoke all quality audit tasks:" opts.separator " code_quality quality_audit" opts.separator "" opts.separator "Advanced options:" opts.on_tail("-h", "--help", "-H", "Display this help message.") do puts opts exit end standard_rake_options.each { |args| opts.on(*args) } opts.environment("RAKEOPT") end.parse! end
in_namespace(name) { || ... }
click to toggle source
Calls superclass method
# File lib/code_quality/cli.rb, line 27 def in_namespace(name) if name == @name # remove root namespace yield else super end end
lib_dir()
click to toggle source
# File lib/code_quality/cli.rb, line 92 def lib_dir File.expand_path("../../../lib", __FILE__) end
rakefile_path()
click to toggle source
# File lib/code_quality/cli.rb, line 96 def rakefile_path File.join(lib_dir, "code_quality.rb") end
run()
click to toggle source
# File lib/code_quality/cli.rb, line 16 def run Rake.application = self @rakefiles = [] add_import File.join(lib_dir, "tasks", "code_quality.rake") standard_exception_handling do init name load_rakefile top_level end end
sort_options(options)
click to toggle source
overwrite options
Calls superclass method
# File lib/code_quality/cli.rb, line 69 def sort_options(options) super.push(__version) end