Class: SyntaxTree::CLI::Options

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_filesObject (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

#pluginsObject (readonly)

Returns the value of attribute plugins.



346
347
348
# File 'lib/syntax_tree/cli.rb', line 346

def plugins
  @plugins
end

Returns the value of attribute print_width.



346
347
348
# File 'lib/syntax_tree/cli.rb', line 346

def print_width
  @print_width
end

#scriptsObject (readonly)

Returns the value of attribute scripts.



346
347
348
# File 'lib/syntax_tree/cli.rb', line 346

def scripts
  @scripts
end

#target_ruby_versionObject (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