Class: ActiveRecord::Summarize::CalculationImplementation::Minimum

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



95
96
97
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 95

def function_arel_node_class
  Arel::Nodes::Min
end

#initialObject



99
100
101
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 99

def initial
  nil
end

#reducer(memo, v) ⇒ Object



103
104
105
106
107
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 103

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

#unmatch_arel_nodeObject



91
92
93
# File 'lib/activerecord/summarize/calculation_implementation.rb', line 91

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