Class: Spoom::Coverage::Snapshot
- Inherits:
-
T::Struct
- Object
- T::Struct
- Spoom::Coverage::Snapshot
- Extended by:
- T::Sig
- Defined in:
- lib/spoom/coverage/snapshot.rb
Constant Summary collapse
- STRICTNESSES =
The strictness name as found in the Sorbet metrics file
T.let(["ignore", "false", "true", "strict", "strong", "stdlib"].freeze, T::Array[String])
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_json(json) ⇒ Object
35 36 37 |
# File 'lib/spoom/coverage/snapshot.rb', line 35 def self.from_json(json) from_obj(JSON.parse(json)) end |
.from_obj(obj) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/spoom/coverage/snapshot.rb', line 40 def self.from_obj(obj) snapshot = Snapshot.new snapshot. = obj.fetch("timestamp", 0) snapshot.version_static = obj.fetch("version_static", nil) snapshot.version_runtime = obj.fetch("version_runtime", nil) snapshot.duration = obj.fetch("duration", 0) snapshot.commit_sha = obj.fetch("commit_sha", nil) snapshot. = obj.fetch("commit_timestamp", nil) snapshot.files = obj.fetch("files", 0) snapshot.modules = obj.fetch("modules", 0) snapshot.classes = obj.fetch("classes", 0) snapshot.singleton_classes = obj.fetch("singleton_classes", 0) snapshot.methods_with_sig = obj.fetch("methods_with_sig", 0) snapshot.methods_without_sig = obj.fetch("methods_without_sig", 0) snapshot.calls_typed = obj.fetch("calls_typed", 0) snapshot.calls_untyped = obj.fetch("calls_untyped", 0) sigils = obj.fetch("sigils", {}) if sigils Snapshot::STRICTNESSES.each do |strictness| next unless sigils.key?(strictness) snapshot.sigils[strictness] = sigils[strictness] end end snapshot end |
Instance Method Details
#print(out: $stdout, colors: true, indent_level: 0) ⇒ Object
29 30 31 32 |
# File 'lib/spoom/coverage/snapshot.rb', line 29 def print(out: $stdout, colors: true, indent_level: 0) printer = SnapshotPrinter.new(out: out, colors: colors, indent_level: indent_level) printer.print_snapshot(self) end |
#to_json(*arg) ⇒ Object
69 70 71 |
# File 'lib/spoom/coverage/snapshot.rb', line 69 def to_json(*arg) serialize.to_json(*arg) end |