Class: Migflow::Parsers::MigrationParser

Inherits:
Object
  • Object
show all
Defined in:
lib/migflow/parsers/migration_parser.rb

Constant Summary collapse

FILENAME_PATTERN =
/\A(\d+)_(.+)\.rb\z/

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(migrations_path:) ⇒ MigrationParser

Returns a new instance of MigrationParser.



12
13
14
# File 'lib/migflow/parsers/migration_parser.rb', line 12

def initialize(migrations_path:)
  @migrations_path = Pathname.new(migrations_path)
end

Class Method Details

.call(migrations_path:) ⇒ Object



8
9
10
# File 'lib/migflow/parsers/migration_parser.rb', line 8

def self.call(migrations_path:)
  new(migrations_path: migrations_path).parse
end

Instance Method Details

#parseObject



16
17
18
19
20
21
# File 'lib/migflow/parsers/migration_parser.rb', line 16

def parse
  migration_files
    .map { |file| build_entry(file) }
    .compact
    .sort_by { |entry| entry[:version] }
end