Class: ActiveRecord::Summarize::CalculationImplementation::Maximum

Inherits:
Base
  • Object
show all
Defined in:
lib/activerecord/summarize/calculation_implementation.rb

Instance Attribute Summary

Attributes inherited from Base

#column, #relation

Instance Method Summary collapse

Methods inherited from Base

#initialize, #select_column_arel_node

Constructor Details

This class inherits a constructor from ActiveRecord::Summarize::CalculationImplementation::Base

Instance Method Details

#function_arel_node_classObject



115
116
117
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 115

def function_arel_node_class
  Arel::Nodes::Max
end

#initialObject



119
120
121
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 119

def initial
  nil
end

#reducer(memo, v) ⇒ Object



123
124
125
126
127
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 123

def reducer(memo, v)
  return memo if v.nil?
  return v if memo.nil?
  (v > memo) ? v : memo
end

#unmatch_arel_nodeObject



111
112
113
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 111

def unmatch_arel_node
  nil # In SQL, null is no value and is not considered for max()
end