Class: RSpec::FlakeClassifier::Classify::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/flake/classifier/classify/result.rb,
sig/rspec/flake/classifier.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, labels:, evidence: []) ⇒ Result

Returns a new instance of Result.

Parameters:

  • status: (String)
  • labels: (Array[untyped])
  • evidence: (Array[String]) (defaults to: [])


20
21
22
23
24
# File 'lib/rspec/flake/classifier/classify/result.rb', line 20

def initialize(status:, labels:, evidence: [])
  @status = status.to_s
  @labels = labels.sort_by { |label| -label.confidence.to_f }
  @evidence = evidence
end

Instance Attribute Details

#evidenceArray[String] (readonly)

Returns the value of attribute evidence.

Returns:

  • (Array[String])


18
19
20
# File 'lib/rspec/flake/classifier/classify/result.rb', line 18

def evidence
  @evidence
end

#labelsArray[untyped] (readonly)

Returns the value of attribute labels.

Returns:

  • (Array[untyped])


18
19
20
# File 'lib/rspec/flake/classifier/classify/result.rb', line 18

def labels
  @labels
end

#statusString (readonly)

Returns the value of attribute status.

Returns:

  • (String)


18
19
20
# File 'lib/rspec/flake/classifier/classify/result.rb', line 18

def status
  @status
end

Instance Method Details

#flaky?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/rspec/flake/classifier/classify/result.rb', line 30

def flaky?
  status == "flaky" || !labels.empty?
end

#primary_labelObject

Returns:

  • (Object)


26
27
28
# File 'lib/rspec/flake/classifier/classify/result.rb', line 26

def primary_label
  labels.first
end

#to_hHash[String, untyped]

Returns:

  • (Hash[String, untyped])


34
35
36
37
38
39
40
# File 'lib/rspec/flake/classifier/classify/result.rb', line 34

def to_h
  {
    "status" => status,
    "labels" => labels.map(&:to_h),
    "evidence" => evidence
  }
end