Class: RailsConsolePro::Serializers::CompareSerializer

Inherits:
BaseSerializer
  • Object
show all
Defined in:
lib/rails_console_pro/serializers/compare_serializer.rb

Overview

Serializer for CompareResult objects

Instance Method Summary collapse

Methods inherited from BaseSerializer

#initialize, serialize

Constructor Details

This class inherits a constructor from RailsConsolePro::Serializers::BaseSerializer

Instance Method Details

#serialize(compare_result) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rails_console_pro/serializers/compare_serializer.rb', line 7

def serialize(compare_result)
  result = {
    timestamp: compare_result.timestamp&.iso8601,
    total_strategies: compare_result.comparisons.size,
    fastest: compare_result.fastest_name,
    slowest: compare_result.slowest_name,
    performance_ratio: compare_result.performance_ratio,
    has_errors: compare_result.has_errors?,
    error_count: compare_result.error_count,
    total_queries: compare_result.total_queries,
    comparisons: serialize_comparisons(compare_result.comparisons)
  }
  result[:winner] = serialize_comparison(compare_result.winner) if compare_result.winner
  result
end