Sha256: 0b8eb5bcfde0a1736541a4815ba5a7f8789e15cfed2360324fda368f589f1fba

Contents?: true

Size: 780 Bytes

Versions: 3

Compression:

Stored size: 780 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].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

3 entries across 3 versions & 1 rubygems

Version Path
pg_ha_migrations-1.7.0 lib/pg_ha_migrations/allowed_versions.rb
pg_ha_migrations-1.6.0 lib/pg_ha_migrations/allowed_versions.rb
pg_ha_migrations-1.5.0 lib/pg_ha_migrations/allowed_versions.rb