Sha256: 556f56f6b06d74ed95dad95f6bceddd8f145b4d0eed7897e8d22b18e5c187174

Contents?: true

Size: 683 Bytes

Versions: 3

Compression:

Stored size: 683 Bytes

Contents

# frozen_string_literal: true

module ActiveRecordDoctor
  module Utils # :nodoc:
    class << self
      def postgresql?(connection = ActiveRecord::Base.connection)
        ["PostgreSQL", "PostGIS"].include?(connection.adapter_name)
      end

      def mysql?(connection = ActiveRecord::Base.connection)
        connection.adapter_name == "Mysql2"
      end

      def expression_indexes_unsupported?(connection = ActiveRecord::Base.connection)
        (ActiveRecord::VERSION::STRING < "5.0") ||
          # Active Record is unable to correctly parse expression indexes for MySQL.
          (mysql?(connection) && ActiveRecord::VERSION::STRING < "7.1")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_record_doctor-1.15.0 lib/active_record_doctor/utils.rb
active_record_doctor-1.14.0 lib/active_record_doctor/utils.rb
active_record_doctor-1.13.0 lib/active_record_doctor/utils.rb