Class: Quality::Config
- Inherits:
-
Object
- Object
- Quality::Config
- Defined in:
- lib/quality/rake/config.rb
Overview
Configuration for running quality tool
Instance Attribute Summary collapse
-
#extra_files ⇒ Object
Pick any extra files that are source files, but may not have extensions–defaults to [‘Rakefile’].
-
#output_dir ⇒ Object
Relative path to output directory where *_high_water_mark files will be read/written.
-
#quality_name ⇒ Object
Name of quality task.
-
#ratchet_name ⇒ Object
Name of ratchet task.
- #ruby_dirs ⇒ Object
-
#skip_tools ⇒ Object
Array of strings describing tools to be skipped–e.g., [“cane”].
- #source_dirs ⇒ Object
-
#verbose ⇒ Object
Log command executation.
Instance Method Summary collapse
-
#initialize(quality_name: 'quality', ratchet_name: 'ratchet', globber: fail) ⇒ Config
constructor
A new instance of Config.
- #ruby_file_extensions ⇒ Object
- #ruby_files ⇒ Object
- #ruby_files_glob ⇒ Object
- #source_file_extensions ⇒ Object
- #source_files_glob(dirs = source_dirs, extensions = source_file_extensions) ⇒ Object
Constructor Details
#initialize(quality_name: 'quality', ratchet_name: 'ratchet', globber: fail) ⇒ Config
Returns a new instance of Config.
84 85 86 87 88 89 90 91 92 93 |
# File 'lib/quality/rake/config.rb', line 84 def initialize(quality_name: 'quality', ratchet_name: 'ratchet', globber: fail) @quality_name = quality_name @ratchet_name = ratchet_name @skip_tools = [] @output_dir = 'metrics' @verbose = false @globber = globber end |
Instance Attribute Details
#extra_files ⇒ Object
Pick any extra files that are source files, but may not have extensions–defaults to [‘Rakefile’]
41 42 43 |
# File 'lib/quality/rake/config.rb', line 41 def extra_files @extra_files end |
#output_dir ⇒ Object
Relative path to output directory where *_high_water_mark files will be read/written
Defaults to .
47 48 49 |
# File 'lib/quality/rake/config.rb', line 47 def output_dir @output_dir end |
#quality_name ⇒ Object
Name of quality task. Defaults to :quality.
11 12 13 |
# File 'lib/quality/rake/config.rb', line 11 def quality_name @quality_name end |
#ratchet_name ⇒ Object
Name of ratchet task. Defaults to :ratchet.
15 16 17 |
# File 'lib/quality/rake/config.rb', line 15 def ratchet_name @ratchet_name end |
#ruby_dirs ⇒ Object
49 50 51 |
# File 'lib/quality/rake/config.rb', line 49 def ruby_dirs @ruby_dirs ||= %w(src app lib test spec feature) end |
#skip_tools ⇒ Object
Array of strings describing tools to be skipped–e.g., [“cane”]
Defaults to []
20 21 22 |
# File 'lib/quality/rake/config.rb', line 20 def skip_tools @skip_tools end |
#source_dirs ⇒ Object
53 54 55 |
# File 'lib/quality/rake/config.rb', line 53 def source_dirs @source_dirs ||= ruby_dirs.clone end |
#verbose ⇒ Object
Log command executation
Defaults to false
25 26 27 |
# File 'lib/quality/rake/config.rb', line 25 def verbose @verbose end |
Instance Method Details
#ruby_file_extensions ⇒ Object
71 72 73 |
# File 'lib/quality/rake/config.rb', line 71 def ruby_file_extensions 'rb,rake' end |
#ruby_files ⇒ Object
79 80 81 82 |
# File 'lib/quality/rake/config.rb', line 79 def ruby_files @globber.glob("{*.{#{ruby_file_extensions}},Rakefile}") .concat(@globber.glob(ruby_files_glob)).join(' ') end |
#ruby_files_glob ⇒ Object
75 76 77 |
# File 'lib/quality/rake/config.rb', line 75 def ruby_files_glob source_files_glob(ruby_dirs, ruby_file_extensions) end |
#source_file_extensions ⇒ Object
61 62 63 |
# File 'lib/quality/rake/config.rb', line 61 def source_file_extensions "#{ruby_file_extensions},swift,cpp,c,java,py,clj,cljs,scala,js" end |
#source_files_glob(dirs = source_dirs, extensions = source_file_extensions) ⇒ Object
65 66 67 68 69 |
# File 'lib/quality/rake/config.rb', line 65 def source_files_glob(dirs = source_dirs, extensions = source_file_extensions) File.join("{#{dirs.join(',')}}", '**', "{#{extra_files.join(',')},*.{#{extensions}}}") end |