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.

Methods

Class Public methods

new(app, file_watcher: ActiveSupport::FileUpdateChecker)

📝 Source code
# File activerecord/lib/active_record/migration.rb, line 631
      def initialize(app, file_watcher: ActiveSupport::FileUpdateChecker)
        @app = app
        @needs_check = true
        @mutex = Mutex.new
        @file_watcher = file_watcher
      end
🔎 See on GitHub

Instance Public methods

call(env)

📝 Source code
# File activerecord/lib/active_record/migration.rb, line 638
      def call(env)
        @mutex.synchronize do
          @watcher ||= build_watcher do
            @needs_check = true
            ActiveRecord::Migration.check_pending_migrations
            @needs_check = false
          end

          if @needs_check
            @watcher.execute
          else
            @watcher.execute_if_updated
          end
        end

        @app.call(env)
      end
🔎 See on GitHub