Sha256: a3da7747eec56ac820ed5b827ab33ee13e1bc4dbcbd2f1cfd3970f0eed108bb5
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true require 'json' module Engines module JestJsonSummary class Extractor METRICS = %i[].freeze def initialize; end def call(provider) metrics = METRICS.map do |metric| [metric, send(metric)] end.to_h metrics .merge!(total_lines) .merge!(total_statements) .merge!(total_functions) .merge!(total_branches) .merge!(total_branches_true) provider.emit(metrics) end def requirements? File.exist?('jest_json_summary.output.json') end private def json_summary @json_summary ||= JSON.parse(File.read('jest_json_summary.output.json')) end def total_lines flatten('lines') end def total_statements flatten('statements') end def total_functions flatten('functions') end def total_branches flatten('branches') end def total_branches_true flatten('branchesTrue', 'branches_true') end def flatten(member, rename = nil) json_summary['total'][member].map do |key, value| ["jest_json_summary_#{rename || member}_#{key}", value.to_i] end.to_h end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
codemonitor-0.5.0 | engines/jest-json-summary/extractor.rb |