Class: PgExport::DumpStorage
- Inherits:
-
Object
- Object
- PgExport::DumpStorage
- Includes:
- Logging
- Defined in:
- lib/pg_export/services/dump_storage.rb
Constant Summary collapse
- TIMESTAMP =
'_%Y%m%d_%H%M%S'.freeze
- TIMESTAMP_REGEX =
'[0-9]{8}_[0-9]{6}'.freeze
Instance Method Summary collapse
-
#initialize(ftp_service, name) ⇒ DumpStorage
constructor
A new instance of DumpStorage.
- #remove_old(keep:) ⇒ Object
- #upload(dump) ⇒ Object
Methods included from Logging
Constructor Details
#initialize(ftp_service, name) ⇒ DumpStorage
Returns a new instance of DumpStorage.
8 9 10 |
# File 'lib/pg_export/services/dump_storage.rb', line 8 def initialize(ftp_service, name) @ftp_service, @name = ftp_service, name end |
Instance Method Details
#remove_old(keep:) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/pg_export/services/dump_storage.rb', line 18 def remove_old(keep:) ftp_service.list(ftp_regex).drop(keep.to_i).each do |filename| ftp_service.delete(filename) logger.info "Remove #{filename} from FTP" end end |
#upload(dump) ⇒ Object
12 13 14 15 16 |
# File 'lib/pg_export/services/dump_storage.rb', line 12 def upload(dump) dump_name = (dump) ftp_service.upload_file(dump.path, dump_name) logger.info "Export #{dump} #{dump_name} to #{ftp_service}" end |