Class: CleoQualityReview::Options
- Inherits:
-
Object
- Object
- CleoQualityReview::Options
- Defined in:
- lib/cleo_quality_review/options.rb
Overview
Parses command-line options for the quality review CLI
Defined Under Namespace
Classes: ParseResult
Constant Summary collapse
- FORMATS =
%w[human agent github pr_review].freeze
- DEFAULT_FORMAT =
"human"- DEFAULT_CHECKS =
["all"].freeze
Class Method Summary collapse
-
.parse(argv) ⇒ ParseResult
Parse command-line arguments.
Instance Method Summary collapse
-
#initialize(argv) ⇒ Options
constructor
A new instance of Options.
-
#parse ⇒ ParseResult
Parse the arguments and return the result.
Constructor Details
#initialize(argv) ⇒ Options
Returns a new instance of Options.
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/cleo_quality_review/options.rb', line 56 def initialize(argv) @argv = argv.dup @format = DEFAULT_FORMAT @checks = [] @files = [] @exclude = [] @changed = false @base = GitDiffBase::DEFAULT_BASE_REF @log = false @review_id = nil @review_file = nil end |
Class Method Details
.parse(argv) ⇒ ParseResult
Parse command-line arguments
50 51 52 |
# File 'lib/cleo_quality_review/options.rb', line 50 def self.parse(argv) new(argv).parse end |
Instance Method Details
#parse ⇒ ParseResult
Parse the arguments and return the result
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/cleo_quality_review/options.rb', line 73 def parse parser.parse!(argv) validate_format! files.concat(argv) ParseResult.new( format: format, checks: checks.empty? ? DEFAULT_CHECKS.dup : checks, files: files, exclude: exclude, changed: changed, base: base, log: log, review_id: review_id, review_file: review_file, ) end |