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.
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/cleo_quality_review/options.rb', line 54 def initialize(argv) @argv = argv.dup @format = DEFAULT_FORMAT @checks = [] @files = [] @exclude = [] @changed = false @log = false @review_id = nil @review_file = nil end |
Class Method Details
.parse(argv) ⇒ ParseResult
Parse command-line arguments
48 49 50 |
# File 'lib/cleo_quality_review/options.rb', line 48 def self.parse(argv) new(argv).parse end |
Instance Method Details
#parse ⇒ ParseResult
Parse the arguments and return the result
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/cleo_quality_review/options.rb', line 70 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, log: log, review_id: review_id, review_file: review_file, ) end |