class CounterCulture::WithConnection

Attributes

recipient[R]

Public Class Methods

new(recipient) click to toggle source
# File lib/counter_culture/with_connection.rb, line 3
def initialize(recipient)
  @recipient = recipient
end

Public Instance Methods

call() { |connection| ... } click to toggle source
# File lib/counter_culture/with_connection.rb, line 9
def call
  if rails_7_2_or_greater?
    recipient.with_connection do |connection|
      yield connection
    end
  elsif rails_7_1?
    recipient.connection_pool.with_connection do |connection|
      yield connection
    end
  else
    yield recipient.connection
  end
end

Private Instance Methods

rails_7_1?() click to toggle source
# File lib/counter_culture/with_connection.rb, line 25
def rails_7_1?
  Gem::Requirement.new('~> 7.1.0').satisfied_by?(ActiveRecord.version)
end
rails_7_2_or_greater?() click to toggle source
# File lib/counter_culture/with_connection.rb, line 29
def rails_7_2_or_greater?
  Gem::Requirement.new('>= 7.2.0').satisfied_by?(ActiveRecord.version)
end