Class: Codespicuous
- Inherits:
-
Object
- Object
- Codespicuous
- Defined in:
- lib/codespicuous/codespicuous.rb
Instance Attribute Summary collapse
-
#commit_history ⇒ Object
readonly
Returns the value of attribute commit_history.
-
#committers ⇒ Object
readonly
Returns the value of attribute committers.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#repositories ⇒ Object
readonly
Returns the value of attribute repositories.
-
#teams ⇒ Object
readonly
Returns the value of attribute teams.
Instance Method Summary collapse
- #collect ⇒ Object
- #configure(argv) ⇒ Object
- #generate_output ⇒ Object
-
#initialize ⇒ Codespicuous
constructor
A new instance of Codespicuous.
- #list_committed_repositories ⇒ Object
- #run(argv) ⇒ Object
Constructor Details
#initialize ⇒ Codespicuous
Returns a new instance of Codespicuous.
8 9 10 11 |
# File 'lib/codespicuous/codespicuous.rb', line 8 def initialize @config = CodespicuousConfig.new @commit_history = CommitHistory.new end |
Instance Attribute Details
#commit_history ⇒ Object (readonly)
Returns the value of attribute commit_history.
6 7 8 |
# File 'lib/codespicuous/codespicuous.rb', line 6 def commit_history @commit_history end |
#committers ⇒ Object (readonly)
Returns the value of attribute committers.
6 7 8 |
# File 'lib/codespicuous/codespicuous.rb', line 6 def committers @committers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
6 7 8 |
# File 'lib/codespicuous/codespicuous.rb', line 6 def config @config end |
#repositories ⇒ Object (readonly)
Returns the value of attribute repositories.
6 7 8 |
# File 'lib/codespicuous/codespicuous.rb', line 6 def repositories @repositories end |
#teams ⇒ Object (readonly)
Returns the value of attribute teams.
6 7 8 |
# File 'lib/codespicuous/codespicuous.rb', line 6 def teams @teams end |
Instance Method Details
#collect ⇒ Object
40 41 42 43 |
# File 'lib/codespicuous/codespicuous.rb', line 40 def collect collector = SVNDataCollector.new(config, @commit_history) collector.collect_commit_history(@commit_history.repositories) end |
#configure(argv) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/codespicuous/codespicuous.rb', line 31 def configure(argv) configurator = CodespicuousConfigurator.new(@config) return false unless configurator.configure(argv) @commit_history.configure(configurator.teams, configurator.repositories) true end |
#generate_output ⇒ Object
45 46 47 48 |
# File 'lib/codespicuous/codespicuous.rb', line 45 def generate_output generator = MetricsGenerator.new generator.generate(@config, @commit_history) end |
#list_committed_repositories ⇒ Object
50 51 52 53 |
# File 'lib/codespicuous/codespicuous.rb', line 50 def list_committed_repositories repository_lister = RepositoryLister.new repository_lister.list(@commit_history) end |
#run(argv) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/codespicuous/codespicuous.rb', line 13 def run(argv) puts "Stage 1: Configuring" return false unless configure(argv) puts "Stage 2: Collecting input data" collect if @config.list_repositories puts "Stage 3: Listing repositories committed to" list_committed_repositories else puts "Stage 3: Generating output" generate_output end true end |