class RubyCritic::Cli::Options::File
Attributes
filename[R]
options[R]
Public Class Methods
new(filename = './.rubycritic.yml')
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 11 def initialize(filename = './.rubycritic.yml') @filename = filename @options = {} end
Public Instance Methods
parse()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 16 def parse @options = YAML.load_file(filename) if ::File.file?(filename) end
to_h()
click to toggle source
rubocop:disable Metrics/MethodLength
# File lib/rubycritic/cli/options/file.rb, line 21 def to_h { mode: mode, root: root, coverage_path: coverage_path, formats: formats, deduplicate_symlinks: deduplicate_symlinks, paths: paths, suppress_ratings: suppress_ratings, minimum_score: minimum_score, no_browser: no_browser, base_branch: base_branch, feature_branch: feature_branch, threshold_score: threshold_score } end
Private Instance Methods
base_branch()
click to toggle source
rubocop:enable Metrics/MethodLength
# File lib/rubycritic/cli/options/file.rb, line 41 def base_branch return options.dig('mode_ci', 'branch') || 'main' if options.dig('mode_ci', 'enabled').to_s == 'true' options['branch'] end
coverage_path()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 63 def coverage_path options['coverage_path'] end
deduplicate_symlinks()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 71 def deduplicate_symlinks value_for(options['deduplicate_symlinks']) end
feature_branch()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 55 def feature_branch SourceControlSystem::Git.current_branch if base_branch end
formats()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 83 def formats formats = Array(options['formats']) formats_to_check = %w[html json console lint] formats.select do |format| formats_to_check.include?(format) end.map(&:to_sym) end
minimum_score()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 91 def minimum_score options['minimum_score'] end
mode()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 47 def mode if options.dig('mode_ci', 'enabled').to_s == 'true' :ci elsif base_branch :compare_branches end end
no_browser()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 79 def no_browser value_for(options['no_browser']) end
paths()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 95 def paths options['paths'] end
root()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 59 def root options['path'] end
suppress_ratings()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 75 def suppress_ratings value_for(options['suppress_ratings']) end
threshold_score()
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 67 def threshold_score options['threshold_score'] end
value_for(value)
click to toggle source
# File lib/rubycritic/cli/options/file.rb, line 99 def value_for(value) value = value.to_s value == 'true' unless value.empty? end