class Backup
Attributes
keep[R]
s3_object[R]
ts[R]
Public Class Methods
generate_id()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 3 def self.generate_id SecureRandom.hex(32) end
new(s3_object)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 15 def initialize(s3_object) @s3_object = s3_object @ts = Time.parse(s3_object.key.split('/').last) @keep = false end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 11 def <=>(other) ts <=> other.ts end
basename()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 70 def basename File.basename(s3_object.key) end
delete()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 57 def delete puts "Deleting backup: #{self}" s3_object.delete end
id()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 62 def id @id ||= s3_object.metadata['backup_id'] end
keep_on_day(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 37 def keep_on_day(date) @keep = true if on_day?(date) end
keep_on_month(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 45 def keep_on_month(date) @keep = true if on_month?(date) end
keep_on_week(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 41 def keep_on_week(date) @keep = true if on_week?(date) end
on_day?(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 25 def on_day?(date) ts.strftime('%F') == date.strftime('%F') end
on_month?(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 33 def on_month?(date) ts.strftime('%Y-%m') == date.strftime('%Y-%m') end
on_week?(date)
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 29 def on_week?(date) ts.strftime('%Y-%U') == date.strftime('%Y-%U') end
prune()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 49 def prune if keep puts "Keeping backup: #{self}" else delete end end
short_id()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 66 def short_id id[0..8] end
to_s()
click to toggle source
# File lib/pg_s3_dumper/backup.rb, line 21 def to_s "id: #{short_id}, key: #{basename}" end