Sha256: 7e56403f5d28d5d6753444c5dcf6b0940fdfd6d3495aa3a473ec7736c756a830

Contents?: true

Size: 632 Bytes

Versions: 3

Compression:

Stored size: 632 Bytes

Contents

module ActiveRecordMigrationUi
  class FindAllPendingMigrationScripts
    include Interactor

    def call
      context.scripts = build_pending_scripts_list
    end

    private

    def migrations_status
      # This will ensure the `schema_migrations` table exists
      ActiveRecord::SchemaMigration.create_table

      ActiveRecord::Base.connection.migration_context.migrations_status
    end

    def build_pending_scripts_list
      migrations_status.map do |status, version, name|
        next unless status == 'down'

        {
          name: name,
          version: version
        }
      end.compact
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_record_migration_ui-0.1.2 app/interactors/active_record_migration_ui/find_all_pending_migration_scripts.rb
active_record_migration_ui-0.1.1 app/interactors/active_record_migration_ui/find_all_pending_migration_scripts.rb
active_record_migration_ui-0.1.0 app/interactors/active_record_migration_ui/find_all_pending_migration_scripts.rb