Class: CoverallsMulti::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/coveralls-multi/runner.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRunner

Returns a new instance of Runner.



7
8
9
# File 'lib/coveralls-multi/runner.rb', line 7

def initialize
  @files = CoverallsMulti::Config.files
end

Instance Attribute Details

#filesObject

Returns the value of attribute files.



5
6
7
# File 'lib/coveralls-multi/runner.rb', line 5

def files
  @files
end

Instance Method Details

#format_all_coverage_filesObject



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/coveralls-multi/runner.rb', line 27

def format_all_coverage_files
  type_array = @files.keys
  formatted_array = []

  type_array.each do |type|
    result = formatter(type).new.run(@files[type])
    formatted_array.concat result
  end

  formatted_array
end

#formatter(string) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/coveralls-multi/runner.rb', line 39

def formatter(string)
  string_klass = "CoverallsMulti::Formatter::#{string.capitalize}"
  Object.const_get(string_klass)
rescue NameError => e
  puts "[CoverallsMulti] Could not find formatter #{string_klass}"
  raise e
end

#mergeObject



18
19
20
21
22
23
24
25
# File 'lib/coveralls-multi/runner.rb', line 18

def merge
  source_files = format_all_coverage_files
  merged = { 'source_files' => source_files }
  CoverallsMulti::Formatter.add_source_digests(merged)

  puts '[CoverallsMulti] All coverage files merged and formatted'
  merged
end

#startObject



11
12
13
14
15
16
# File 'lib/coveralls-multi/runner.rb', line 11

def start
  payload = merge
  puts '[CoverallsMulti] Validating payload'
  valid = CoverallsMulti::Validator.new(payload).run
  CoverallsMulti::API.post_json(payload) if valid
end