method

migrations

Importance_0
v3.2.1 - Show latest stable - 0 notes - Class: ActiveRecord::Migrator
migrations(paths, *args) public

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/migration.rb, line 598
      def migrations(paths, *args)
        if args.empty?
          subdirectories = true
        else
          subdirectories = args.first
          ActiveSupport::Deprecation.warn "The `subdirectories` argument to `migrations` is deprecated"
        end

        paths = Array.wrap(paths)

        glob = subdirectories ? "**/" : ""
        files = Dir[*paths.map { |p| "#{p}/#{glob}[0-9]*_*.rb" }]

        seen = Hash.new false

        migrations = files.map do |file|
          version, name, scope = file.scan(/([0-9]+)_([_a-z0-9]*)\.?([_a-z0-9]*)?.rb/).first

          raise IllegalMigrationNameError.new(file) unless version
          version = version.to_i
          name = name.camelize

          raise DuplicateMigrationVersionError.new(version) if seen[version]
          raise DuplicateMigrationNameError.new(name) if seen[name]

          seen[version] = seen[name] = true

          MigrationProxy.new(name, version, file, scope)
        end

        migrations.sort_by(&:version)
      end
Register or log in to add new notes.