Module: PowerEnum::Schema::SchemaStatements

Defined in:
lib/power_enum/schema/schema_statements.rb

Overview

Patches AbstractAdapter with AbstractAdapter

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object

:nodoc:



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/power_enum/schema/schema_statements.rb', line 11

def self.included(base) # :nodoc:

  %w[AbstractAdapter PostgreSQLAdapter].each do |name|
    if base.const_defined?(name)
      base.const_get(name).class_eval do
        # Currently defined in ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#create_enum
        # This squashes the "#create_enum" in the PostgreSQL adapter in Rails 7+.
        # .../activerecord-7.0.X.Y/lib/active_record/connection_adapters/postgresql_adapter.rb
        prepend PowerEnum::Schema::AbstractAdapter
      end
    end
  end
end