instance method perform_calculation

Ruby on Rails 5.1.7

Since v3.0.20 Private — implementation detail, not part of the public API

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

perform_calculation(operation, column_name)

No documentation comment.

Parameters

operation req
column_name req
Source
# File activerecord/lib/active_record/relation/calculations.rb, line 195
      def perform_calculation(operation, column_name)
        operation = operation.to_s.downcase

        # If #count is used with #distinct (i.e. `relation.distinct.count`) it is
        # considered distinct.
        distinct = distinct_value

        if operation == "count"
          column_name ||= select_for_count
          if column_name == :all
            if distinct && (group_values.any? || select_values.empty? && order_values.empty?)
              column_name = primary_key
            end
          elsif column_name =~ /\s*DISTINCT[\s(]+/i
            distinct = nil
          end
        end

        if group_values.any?
          execute_grouped_calculation(operation, column_name, distinct)
        else
          execute_simple_calculation(operation, column_name, distinct)
        end
      end

Defined in activerecord/lib/active_record/relation/calculations.rb line 195 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Calculations

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close