Module: DynaModel::Extensions::S3Backup

Extended by:
ActiveSupport::Concern
Defined in:
lib/dyna_model/extensions/s3_backup.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#backup_dyna_model_record_to_s3Object



21
22
23
24
25
26
27
28
29
# File 'lib/dyna_model/extensions/s3_backup.rb', line 21

def backup_dyna_model_record_to_s3
  if self.class.dyna_model_s3_backup_config
    if self.class.dyna_model_s3_backup_config[:after_save]
      self.class.dyna_model_s3_backup_config[:after_save].call(self)
    else
      self.write_dyna_model_s3_backup!
    end
  end
end

#to_dyna_model_s3_backup_jsonObject



35
36
37
38
39
40
# File 'lib/dyna_model/extensions/s3_backup.rb', line 35

def to_dyna_model_s3_backup_json
  ActiveSupport::JSON.encode({
    class: self.class.to_s,
    attributes: self.attributes
  })
end

#write_dyna_model_s3_backup!Object



31
32
33
# File 'lib/dyna_model/extensions/s3_backup.rb', line 31

def write_dyna_model_s3_backup!
  self.class.dyna_model_s3_backup_bucket.objects[File.join(self.class.dyna_model_s3_backup_config[:prefix], "#{self.dynamo_db_guid}.json")].write(self.to_dyna_model_s3_backup_json)
end