You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: replication.rb
    path of file: ./repos/pghero/lib/pghero/methods
    
    the code of the file until where you have to start completion: module PgHero
  module Methods
    module Replication
   
    
      def with_feature_support(cache_key, default = nil)
        # cache feature support to minimize errors in logs
        return default if feature_support[cache_key] == false

        begin
          yield
        rescue ActiveRecord::StatementInvalid => e
          raise unless e.message.start_with?("PG::FeatureNotSupported:")
          feature_support[cache_key] = false
          default
        end