Class: Qualspec::RSpec::ComparisonResult

Inherits:
Object
  • Object
show all
Defined in:
lib/qualspec/rspec/evaluation_result.rb

Overview

Result for comparative evaluations

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(results, criterion:) ⇒ ComparisonResult

Returns a new instance of ComparisonResult.



93
94
95
96
97
# File 'lib/qualspec/rspec/evaluation_result.rb', line 93

def initialize(results, criterion:)
  @results = results # Hash of name => EvaluationResult
  @criterion = criterion
  @winner = determine_winner
end

Instance Attribute Details

#criterionObject (readonly)

Returns the value of attribute criterion.



91
92
93
# File 'lib/qualspec/rspec/evaluation_result.rb', line 91

def criterion
  @criterion
end

#resultsObject (readonly)

Returns the value of attribute results.



91
92
93
# File 'lib/qualspec/rspec/evaluation_result.rb', line 91

def results
  @results
end

#winnerObject (readonly)

Returns the value of attribute winner.



91
92
93
# File 'lib/qualspec/rspec/evaluation_result.rb', line 91

def winner
  @winner
end

Instance Method Details

#[](name) ⇒ Object



99
100
101
# File 'lib/qualspec/rspec/evaluation_result.rb', line 99

def [](name)
  results[name.to_sym]
end

#inspectObject



115
116
117
118
119
120
121
122
123
124
# File 'lib/qualspec/rspec/evaluation_result.rb', line 115

def inspect
  lines = ['#<Qualspec::RSpec::ComparisonResult>']
  lines << "  Criterion: #{criterion}"
  lines << "  Winner: #{winner}"
  results.each do |name, result|
    marker = winner?(name) ? '*' : ' '
    lines << "  #{marker} #{name}: #{result.score}/10 - #{result.reasoning}"
  end
  lines.join("\n")
end

#scoresObject



111
112
113
# File 'lib/qualspec/rspec/evaluation_result.rb', line 111

def scores
  results.transform_values(&:score)
end

#tie?Boolean

Returns:

  • (Boolean)


103
104
105
# File 'lib/qualspec/rspec/evaluation_result.rb', line 103

def tie?
  winner == :tie
end

#winner?(name) ⇒ Boolean

Returns:

  • (Boolean)


107
108
109
# File 'lib/qualspec/rspec/evaluation_result.rb', line 107

def winner?(name)
  winner.to_s == name.to_s
end