Sha256: 0d2110439d96a993d6284ba5631cb52db52301f8beaeaed9ecdea11870dfd25f

Contents?: true

Size: 785 Bytes

Versions: 1

Compression:

Stored size: 785 Bytes

Contents

require "active_record/migration/compatibility"

module PgHaMigrations::AllowedVersions
  ALLOWED_VERSIONS = [4.2, 5.0, 5.1, 5.2, 6.0, 6.1, 7.0, 7.1].map do |v|
    begin
      ActiveRecord::Migration[v]
    rescue ArgumentError
      nil
    end
  end.compact

  def inherited(subclass)
    super
    unless ALLOWED_VERSIONS.include?(subclass.superclass)
      raise StandardError, "#{subclass.superclass} is not a permitted migration class\n" \
        "\n" \
        "To add a new version update the ALLOWED_VERSIONS constant in #{__FILE__}\n" \
        "Currently allowed versions: #{ALLOWED_VERSIONS.map { |v| "ActiveRecord::Migration[#{v.current_version}]" }.join(', ')}"
    end
  end
end

ActiveRecord::Migration.singleton_class.send(:prepend, PgHaMigrations::AllowedVersions)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pg_ha_migrations-1.8.0 lib/pg_ha_migrations/allowed_versions.rb