Class: PgExport::Ftp::Repository
- Inherits:
-
Object
- Object
- PgExport::Ftp::Repository
- Defined in:
- lib/pg_export/ftp/repository.rb
Instance Method Summary collapse
- #all ⇒ Object
- #find_by_name(name) ⇒ Object
- #get(db_name) ⇒ Object
-
#initialize(adapter:, logger:) ⇒ Repository
constructor
A new instance of Repository.
- #persist(dump) ⇒ Object
- #remove_old(name, keep) ⇒ Object
Constructor Details
#initialize(adapter:, logger:) ⇒ Repository
Returns a new instance of Repository.
4 5 6 |
# File 'lib/pg_export/ftp/repository.rb', line 4 def initialize(adapter:, logger:) @adapter, @logger = adapter, logger end |
Instance Method Details
#all ⇒ Object
31 32 33 |
# File 'lib/pg_export/ftp/repository.rb', line 31 def all adapter.list('*') end |
#find_by_name(name) ⇒ Object
27 28 29 |
# File 'lib/pg_export/ftp/repository.rb', line 27 def find_by_name(name) adapter.list(name + '_*') end |
#get(db_name) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/pg_export/ftp/repository.rb', line 13 def get(db_name) dump = Dump.new(name: 'Encrypted Dump', db_name: db_name) adapter.get(dump.path, dump.db_name) logger.info "Get #{dump} #{db_name} from #{adapter}" dump end |
#persist(dump) ⇒ Object
8 9 10 11 |
# File 'lib/pg_export/ftp/repository.rb', line 8 def persist(dump) adapter.persist(dump.path, dump.) logger.info "Persist #{dump} #{dump.timestamped_name} to #{adapter}" end |
#remove_old(name, keep) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/pg_export/ftp/repository.rb', line 20 def remove_old(name, keep) find_by_name(name).drop(keep).each do |filename| adapter.delete(filename) logger.info "Remove #{filename} from #{adapter}" end end |