Sha256: 27bc3b0a42e4cf4f4171e04b5cb2fed6b6c5b8c20ad48fadf969f0f9baea2334

Contents?: true

Size: 497 Bytes

Versions: 4

Compression:

Stored size: 497 Bytes

Contents

require "active_support/concern"

module Groupdate
  module Relation
    extend ActiveSupport::Concern

    included do
      attr_accessor :groupdate_values
    end

    def calculate(*args, &block)
      # prevent calculate from being called twice
      return super if ActiveRecord::VERSION::STRING.to_f >= 6.1 && has_include?(args[1])

      default_value = [:count, :sum].include?(args[0]) ? 0 : nil
      Groupdate.process_result(self, super, default_value: default_value)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
groupdate-6.2.1 lib/groupdate/relation.rb
groupdate-6.2.0 lib/groupdate/relation.rb
groupdate-6.1.0 lib/groupdate/relation.rb
groupdate-6.0.1 lib/groupdate/relation.rb