Class: RubyCritic::SourceControlSystem::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/rubycritic/source_control_systems/base.rb

Direct Known Subclasses

Double, Git, Mercurial, Perforce

Constant Summary collapse

@@systems =

rubocop:disable Style/ClassVars

[]

Class Method Summary collapse

Class Method Details

.connected_system_namesObject



31
32
33
# File 'lib/rubycritic/source_control_systems/base.rb', line 31

def self.connected_system_names
  "#{systems[0...-1].join(', ')} or #{systems[-1]}"
end

.createObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rubycritic/source_control_systems/base.rb', line 19

def self.create
  supported_system = systems.find(&:supported?)
  if supported_system
    supported_system.new
  else
    puts 'RubyCritic can provide more feedback if you use '\
          "a #{connected_system_names} repository. "\
          'Churn will not be calculated.'
    Double.new
  end
end

.register_systemObject



11
12
13
# File 'lib/rubycritic/source_control_systems/base.rb', line 11

def self.register_system
  @@systems << self
end

.systemsObject



15
16
17
# File 'lib/rubycritic/source_control_systems/base.rb', line 15

def self.systems
  @@systems
end