Class: SleepingKingStudios::Tasks::Apps::Ci::SimpleCovTask

Inherits:
Task
  • Object
show all
Defined in:
lib/sleeping_king_studios/tasks/apps/ci/simplecov_task.rb

Overview

Defines a Thor task for aggregating SimpleCov coverage results across applications.

Defined Under Namespace

Classes: RESULTS_STRUCT

Instance Attribute Summary

Attributes inherited from Task

#options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Task

#initialize, #mute!, #mute?, #say

Methods included from Task::ClassMethods

#description, #option, #options, #task_name

Constructor Details

This class inherits a constructor from SleepingKingStudios::Tasks::Task

Class Method Details

.configure_simplecov!Object

end struct



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/sleeping_king_studios/tasks/apps/ci/simplecov_task.rb', line 19

def self.configure_simplecov!
  require 'simplecov'
  require 'simplecov-json'

  ::SimpleCov.configure do
    command_name "#{command_name}:#{ENV['APP_NAME']}" if ENV['APP_NAME']

    self.formatter =
      ::SimpleCov::Formatter::MultiFormatter.new(
        [formatter, ::SimpleCov::Formatter::JSONFormatter]
      ) # end formatter
  end # configure
end

.descriptionObject

class method configure_simplecov!



33
34
35
# File 'lib/sleeping_king_studios/tasks/apps/ci/simplecov_task.rb', line 33

def self.description
  'Aggregates the SimpleCov results for all applications.'
end

.task_nameObject

class method description



37
38
39
# File 'lib/sleeping_king_studios/tasks/apps/ci/simplecov_task.rb', line 37

def self.task_name
  'simplecov'
end

Instance Method Details

#call(_application = nil) ⇒ Object

class method task_name



41
42
43
44
45
46
# File 'lib/sleeping_king_studios/tasks/apps/ci/simplecov_task.rb', line 41

def call _application = nil
  results = load_report :report => File.join('coverage', 'coverage.json')
  results = convert_results_to_object(results)

  SleepingKingStudios::Tasks::Ci::SimpleCovResults.new(results)
end