Class: Xcov::Core::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/xcov-core.rb

Class Method Summary collapse

Class Method Details

.execute_command(command, description) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/xcov-core.rb', line 23

def self.execute_command (command, description)
  FastlaneCore::CommandExecutor
      .execute(
          command: command,
          print_all: true,
          print_command: true,
          prefix: description,
          loading: "Loading...",
          error: proc do |error_output|
            begin
              Xcov::ErrorHandler.handle_error(error_output)
            rescue => ex
              Xcov::SlackPoster.new.run({
                build_errors: 1
              })
              raise ex
            end
          end
      )
end

.parse(file) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/xcov-core.rb', line 14

def self.parse(file)
  report_output = Tempfile.new("report.json")
  command = "#{ENV['XCOV_CORE_LIBRARY_PATH']} -s #{file} -o #{report_output.path}"
  description = [{ prefix: "Parsing .xccoverage file: " }]
  execute_command(command, description)
  output_file = File.read(report_output.path)
  JSON.parse(output_file)
end