Sha256: 69dfb8fb789ea6af2d1a2051be601cf936862c7ea30a98c07b939bbbd1f1038c

Contents?: true

Size: 770 Bytes

Versions: 3

Compression:

Stored size: 770 Bytes

Contents

require "active_record/migration/compatibility"

module PgHaMigrations::AllowedVersions
  ALLOWED_VERSIONS = [4.2, 5.0, 5.1, 5.2, 6.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.2.5 lib/pg_ha_migrations/allowed_versions.rb
pg_ha_migrations-1.2.4 lib/pg_ha_migrations/allowed_versions.rb
pg_ha_migrations-1.2.3 lib/pg_ha_migrations/allowed_versions.rb