Class: SyntaxTree::CLI::Options
- Inherits:
-
Object
- Object
- SyntaxTree::CLI::Options
- Defined in:
- lib/syntax_tree/cli.rb
Overview
This represents all of the options that can be passed to the CLI. It is responsible for parsing the list and then returning the file paths at the end.
Instance Attribute Summary collapse
-
#ignore_files ⇒ Object
readonly
Returns the value of attribute ignore_files.
-
#plugins ⇒ Object
readonly
Returns the value of attribute plugins.
-
#print_width ⇒ Object
readonly
Returns the value of attribute print_width.
-
#scripts ⇒ Object
readonly
Returns the value of attribute scripts.
-
#target_ruby_version ⇒ Object
readonly
Returns the value of attribute target_ruby_version.
Instance Method Summary collapse
-
#initialize(print_width: DEFAULT_PRINT_WIDTH) ⇒ Options
constructor
A new instance of Options.
-
#parse(arguments) ⇒ Object
TODO: This function causes a couple of side-effects that I really don’t like to have here.
Constructor Details
#initialize(print_width: DEFAULT_PRINT_WIDTH) ⇒ Options
352 353 354 355 356 357 358 |
# File 'lib/syntax_tree/cli.rb', line 352 def initialize(print_width: DEFAULT_PRINT_WIDTH) @ignore_files = [] @plugins = [] @print_width = print_width @scripts = [] @target_ruby_version = nil end |
Instance Attribute Details
#ignore_files ⇒ Object (readonly)
Returns the value of attribute ignore_files.
346 347 348 |
# File 'lib/syntax_tree/cli.rb', line 346 def ignore_files @ignore_files end |
#plugins ⇒ Object (readonly)
Returns the value of attribute plugins.
346 347 348 |
# File 'lib/syntax_tree/cli.rb', line 346 def plugins @plugins end |
#print_width ⇒ Object (readonly)
Returns the value of attribute print_width.
346 347 348 |
# File 'lib/syntax_tree/cli.rb', line 346 def print_width @print_width end |
#scripts ⇒ Object (readonly)
Returns the value of attribute scripts.
346 347 348 |
# File 'lib/syntax_tree/cli.rb', line 346 def scripts @scripts end |
#target_ruby_version ⇒ Object (readonly)
Returns the value of attribute target_ruby_version.
346 347 348 |
# File 'lib/syntax_tree/cli.rb', line 346 def target_ruby_version @target_ruby_version end |
Instance Method Details
#parse(arguments) ⇒ Object
TODO: This function causes a couple of side-effects that I really don’t like to have here. It mutates the global state by requiring the plugins, and mutates the global options hash by adding the target ruby version. That should be done on a config-by-config basis, not here.
364 365 366 |
# File 'lib/syntax_tree/cli.rb', line 364 def parse(arguments) parser.parse!(arguments) end |