Sha256: 33261e57c5d37d25b4db11578802e9eb7721f6234c29f7a01942b497545b3ec0

Contents?: true

Size: 934 Bytes

Versions: 14

Compression:

Stored size: 934 Bytes

Contents

# frozen_string_literal: true

require 'active_record/connection_adapters/abstract_adapter'

module Ridgepole
  module Ext
    module AbstractAdapter
      module DisableTableOptions
        def without_table_options(value)
          @__without_table_options = value
          yield
        ensure
          remove_instance_variable(:@__without_table_options)
        end

        def table_options(table_name)
          options = super

          if options && @__without_table_options
            options.delete(:options)

            # For >= AR 6.1.0
            options.delete(:charset)
            options.delete(:collation)
          end

          options
        end
      end
    end
  end
end

module ActiveRecord
  module ConnectionAdapters
    class AbstractAdapter
      def self.inherited(subclass)
        subclass.prepend Ridgepole::Ext::AbstractAdapter::DisableTableOptions
        super
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ridgepole-1.2.1 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.2.0 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.1.0 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.7 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.6 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.5 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.4 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.3 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.2 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.2.beta lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.1 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-1.0.0 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-0.9.6 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb
ridgepole-0.9.5 lib/ridgepole/ext/abstract_adapter/disable_table_options.rb