Class: RuboCop::Cop::Team
- Inherits:
-
Object
- Object
- RuboCop::Cop::Team
- Defined in:
- lib/rubocop/cop/team.rb
Overview
FIXME
Defined Under Namespace
Classes: Investigation
Constant Summary collapse
- DEFAULT_OPTIONS =
{ auto_correct: false, debug: false }.freeze
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#updated_source_file ⇒ Object
(also: #updated_source_file?)
readonly
Returns the value of attribute updated_source_file.
-
#warnings ⇒ Object
readonly
Returns the value of attribute warnings.
Instance Method Summary collapse
- #autocorrect(buffer, cops) ⇒ Object
- #autocorrect? ⇒ Boolean
- #cops ⇒ Object
- #debug? ⇒ Boolean
- #forces ⇒ Object
- #forces_for(cops) ⇒ Object
-
#initialize(cop_classes, config, options = nil) ⇒ Team
constructor
A new instance of Team.
- #inspect_file(processed_source) ⇒ Object
Constructor Details
#initialize(cop_classes, config, options = nil) ⇒ Team
Returns a new instance of Team.
18 19 20 21 22 23 24 25 26 |
# File 'lib/rubocop/cop/team.rb', line 18 def initialize(cop_classes, config, = nil) @cop_classes = cop_classes @config = config @options = || DEFAULT_OPTIONS @errors = [] @warnings = [] validate_config end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
14 15 16 |
# File 'lib/rubocop/cop/team.rb', line 14 def errors @errors end |
#updated_source_file ⇒ Object (readonly) Also known as: updated_source_file?
Returns the value of attribute updated_source_file.
14 15 16 |
# File 'lib/rubocop/cop/team.rb', line 14 def updated_source_file @updated_source_file end |
#warnings ⇒ Object (readonly)
Returns the value of attribute warnings.
14 15 16 |
# File 'lib/rubocop/cop/team.rb', line 14 def warnings @warnings end |
Instance Method Details
#autocorrect(buffer, cops) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/rubocop/cop/team.rb', line 68 def autocorrect(buffer, cops) @updated_source_file = false return unless autocorrect? new_source = autocorrect_all_cops(buffer, cops) return if new_source == buffer.source if @options[:stdin] # holds source read in from stdin, when --stdin option is used @options[:stdin] = new_source else filename = buffer.name File.open(filename, 'w') { |f| f.write(new_source) } end @updated_source_file = true end |
#autocorrect? ⇒ Boolean
28 29 30 |
# File 'lib/rubocop/cop/team.rb', line 28 def autocorrect? @options[:auto_correct] end |
#cops ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/rubocop/cop/team.rb', line 47 def cops only = @options.fetch(:only, []) safe = @options.fetch(:safe, false) @cops ||= @cop_classes.enabled(@config, only, safe).map do |cop_class| cop_class.new(@config, @options) end end |
#debug? ⇒ Boolean
32 33 34 |
# File 'lib/rubocop/cop/team.rb', line 32 def debug? @options[:debug] end |
#forces ⇒ Object
55 56 57 |
# File 'lib/rubocop/cop/team.rb', line 55 def forces @forces ||= forces_for(cops) end |
#forces_for(cops) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/rubocop/cop/team.rb', line 59 def forces_for(cops) Force.all.each_with_object([]) do |force_class, forces| joining_cops = cops.select { |cop| cop.join_force?(force_class) } next if joining_cops.empty? forces << force_class.new(joining_cops) end end |
#inspect_file(processed_source) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rubocop/cop/team.rb', line 36 def inspect_file(processed_source) # If we got any syntax errors, return only the syntax offenses. unless processed_source.valid_syntax? return Lint::Syntax.offenses_from_processed_source( processed_source, @config, @options ) end offenses(processed_source) end |