Class: Songbird::MigrationDiscoverer

Inherits:
Object
  • Object
show all
Defined in:
lib/songbird/migration_discoverer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(migrations_path = nil) ⇒ MigrationDiscoverer

Returns a new instance of MigrationDiscoverer.



9
10
11
# File 'lib/songbird/migration_discoverer.rb', line 9

def initialize(migrations_path = nil)
  @migrations_path = migrations_path || default_migrations_path
end

Instance Attribute Details

#migrations_pathObject (readonly)

Get the path to migrations directory



41
42
43
# File 'lib/songbird/migration_discoverer.rb', line 41

def migrations_path
  @migrations_path
end

Instance Method Details

#find_migration_by_version(version) ⇒ Object

Find migration info by version



31
32
33
# File 'lib/songbird/migration_discoverer.rb', line 31

def find_migration_by_version(version)
  find_migration_by_version_private(version)
end

#load_all_migrationsObject

Get all available migrations



14
15
16
# File 'lib/songbird/migration_discoverer.rb', line 14

def load_all_migrations
  load_migration_files
end

#load_migration_class(version) ⇒ Object

Load a specific migration class by version



19
20
21
22
23
24
25
26
27
28
# File 'lib/songbird/migration_discoverer.rb', line 19

def load_migration_class(version)
  migration_info = find_migration_by_version_private(version)
  return nil unless migration_info

  # Load the migration file
  load migration_info[:filepath]
  
  # Get the migration class
  migration_info[:class_name].constantize
end

#migrations_exist?Boolean

Check if migrations directory exists

Returns:

  • (Boolean)


36
37
38
# File 'lib/songbird/migration_discoverer.rb', line 36

def migrations_exist?
  Dir.exist?(@migrations_path)
end