class DumpFile
Class for single DB dump file
Constants
- DB_DUMP_EXTENSIONS
- DB_DUMP_TIMESTAMP
- DB_DUMP_TIMESTAMP_REGEXP
- DB_DUMP_TIMESTAMP_REGEXP_MAP
Attributes
db_config[RW]
db_dumps_dir[RW]
format[R]
timestamp[R]
version[R]
Public Class Methods
all()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 65 def all Dir[File.join(db_dumps_dir, '*')] .select { |file| file.match?(db_dump_regexp) } .map! { |file| new filename: file } .sort! end
db_dump_regexp()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 49 def db_dump_regexp return unless db_config return @db_dump_regexp if defined?(@db_dump_regexp) regexp_escaped_db_dump_extensions = DB_DUMP_EXTENSIONS.values.map do |db_dump_extension| Regexp.escape(db_dump_extension) end @db_dump_regexp = /^ #{db_dumps_dir}#{Regexp.escape(File::SEPARATOR)} #{db_config[:database]}_#{DB_DUMP_TIMESTAMP_REGEXP} (#{regexp_escaped_db_dump_extensions.join('|')}) $/xo end
new(filename: nil, format: 'custom')
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 75 def initialize(filename: nil, format: 'custom') if filename @extension = File.extname(filename) @format = DB_DUMP_EXTENSIONS.key(@extension) self.version = filename[/#{DB_DUMP_TIMESTAMP_REGEXP}/o] else @format = format @extension = DB_DUMP_EXTENSIONS[@format] self.timestamp = Time.now end end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 87 def <=>(other) timestamp <=> other.timestamp end
path()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 99 def path File.join self.class.db_dumps_dir, "#{self.class.db_config[:database]}_#{version}#{@extension}" end
print()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 95 def print puts to_s end
to_s()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 91 def to_s "#{readable_timestamp} #{format}" end
Private Instance Methods
readable_timestamp()
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 115 def readable_timestamp Paint[timestamp.strftime('%F %R'), :cyan] end
timestamp=(value)
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 110 def timestamp=(value) @timestamp = value @version = timestamp.strftime(DB_DUMP_TIMESTAMP) end
version=(value)
click to toggle source
# File lib/psql_toys/template/dumps/_dump_file.rb, line 105 def version=(value) @version = value @timestamp = Time.strptime(version, DB_DUMP_TIMESTAMP) end