module S3lite::Base

Attributes

last_backup_at[RW]

Public Instance Methods

backedup?() click to toggle source
# File lib/s3lite/base.rb, line 26
def backedup?
  to_json == latest.to_json
end
backup(raise_error: false) click to toggle source
# File lib/s3lite/base.rb, line 5
def backup(raise_error: false)
  s3_put(path: s3_path, body: to_json)
rescue => e
  raise e if raise_error
  false
end
backup!() click to toggle source
# File lib/s3lite/base.rb, line 12
def backup!
  backup(raise_error: true)
end
latest() click to toggle source
# File lib/s3lite/base.rb, line 16
def latest
  obj = s3_get(s3_path)
  body = obj.body.read
  json = S3lite::Parse.json(body)
  json[:last_backup_at] = obj.last_modified
  self.class.new(json)
rescue Aws::S3::Errors::AccessDenied, Aws::S3::Errors::NotFound
  nil
end
s3_path() click to toggle source
# File lib/s3lite/base.rb, line 30
def s3_path
  if defined?(Rails)
    "#{Rails.env}/#{self.class.to_s.parameterize}/#{id}"
  else
    "#{self.class}/#{id}"
  end
end