Class: ActiveRecord::Migration::CheckPending

Inherits:
Object
  • Object
show all
Defined in:
activerecord/lib/active_record/migration.rb

Overview

This class is used to verify that all migrations have been run before loading a web page if config.active_record.migration_error is set to :page_load

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ CheckPending

Returns a new instance of CheckPending.


540
541
542
543
# File 'activerecord/lib/active_record/migration.rb', line 540

def initialize(app)
  @app = app
  @last_check = 0
end

Instance Method Details

#call(env) ⇒ Object


545
546
547
548
549
550
551
552
553
554
# File 'activerecord/lib/active_record/migration.rb', line 545

def call(env)
  if connection.supports_migrations?
    mtime = ActiveRecord::Migrator.last_migration.mtime.to_i
    if @last_check < mtime
      ActiveRecord::Migration.check_pending!(connection)
      @last_check = mtime
    end
  end
  @app.call(env)
end