lib/danger_plugin.rb
def produce_report(*args)
      # Check xcov availability, install it if needed
      `gem install xcov` unless xcov_available?
      unless xcov_available?
        puts "xcov is not available on this machine"
        return
      end

      require "xcov"
      require "fastlane_core"

      # Init Xcov
      config = FastlaneCore::Configuration.create(Xcov::Options.available_options, convert_options(args.first))
      Xcov.config = config
      Xcov.ignore_handler = Xcov::IgnoreHandler.new

      # Init project
      manager =  Xcov::Manager.new(config)

      # Parse .xccoverage
      report_json = manager.parse_xccoverage

      # Map and process report
      process_report(Xcov::Report.map(report_json))
    end
def produce_report(*args)
      # Check xcov availability, install it if needed
      `gem install xcov` unless xcov_available?
      unless xcov_available?
        puts "xcov is not available on this machine"
        return
      end

      require "xcov"
      require "fastlane_core"

      # Init Xcov
      config = FastlaneCore::Configuration.create(Xcov::Options.available_options, convert_options(args.first))
      Xcov.config = config
      Xcov.ignore_handler = Xcov::IgnoreHandler.new

      # Init project
      manager =  Xcov::Manager.new(config)

      # Parse .xccoverage
      report_json = manager.parse_xccoverage

      # Map and process report
      process_report(Xcov::Report.map(report_json))
    end
Produces and processes a report for use in the report method
 It takes the same arguments as report, and returns the same
 object as process_report