Class: ActualDbSchema::Store::FileAdapter
- Inherits:
-
Object
- Object
- ActualDbSchema::Store::FileAdapter
- Defined in:
- lib/actual_db_schema/store.rb
Overview
Stores migrated files on the filesystem with metadata in CSV.
Instance Method Summary collapse
- #delete(filename) ⇒ Object
- #materialize_all ⇒ Object
- #migration_files ⇒ Object
- #read ⇒ Object
- #stored_migration?(filename) ⇒ Boolean
- #write(filename) ⇒ Object
Instance Method Details
#delete(filename) ⇒ Object
103 104 105 |
# File 'lib/actual_db_schema/store.rb', line 103 def delete(filename) File.delete(filename) if File.exist?(filename) end |
#materialize_all ⇒ Object
111 112 113 |
# File 'lib/actual_db_schema/store.rb', line 111 def materialize_all nil end |
#migration_files ⇒ Object
99 100 101 |
# File 'lib/actual_db_schema/store.rb', line 99 def migration_files Dir["#{folder}/**/[0-9]*_*.rb"] end |
#read ⇒ Object
93 94 95 96 97 |
# File 'lib/actual_db_schema/store.rb', line 93 def read return {} unless File.exist?(store_file) CSV.read(store_file).map { |line| Item.new(*line) }.index_by(&:version) end |
#stored_migration?(filename) ⇒ Boolean
107 108 109 |
# File 'lib/actual_db_schema/store.rb', line 107 def stored_migration?(filename) filename.to_s.start_with?(folder.to_s) end |
#write(filename) ⇒ Object
86 87 88 89 90 91 |
# File 'lib/actual_db_schema/store.rb', line 86 def write(filename) basename = File.basename(filename) FileUtils.mkdir_p(folder) FileUtils.copy(filename, folder.join(basename)) (filename) end |