Sha256: d114ecca095e222356ad13ab09954d8a2ed0f8afba113408df641f4389248684

Contents?: true

Size: 616 Bytes

Versions: 1

Compression:

Stored size: 616 Bytes

Contents

require "virtus"

module Backsum
  class Backup
    include Virtus.model
    NAME_PATTERN = "%Y%m%dT%H%M%S"
    
    attribute :name
    attribute :base_dir
    attribute :outdated, Boolean
    
    def <=>(other)
      self.backup_at <=> other.backup_at
    end
    
    def backup_at
      DateTime.strptime(self.name, NAME_PATTERN)
    end
    
    def backup_at=(datetime)
      self.name = datetime.strftime(NAME_PATTERN)
    end
    
    def path
      File.join(self.base_dir, self.name)
    end
    
    def cweek
      self.backup_at.cweek
    end
    
    def day
      self.backup_at.day
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
backsum-0.0.1 lib/backsum/backup.rb