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
- #backup_dyna_model_record_to_s3 ⇒ Object
- #to_dyna_model_s3_backup_json ⇒ Object
- #write_dyna_model_s3_backup! ⇒ Object
Instance Method Details
#backup_dyna_model_record_to_s3 ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/dyna_model/extensions/s3_backup.rb', line 21 def backup_dyna_model_record_to_s3 if DynaModel::Config.s3_backup_extension_enable_development || DynaModel::Config.s3_backup_extension_development_environments.include?(Rails.env) DynaModel::Config.logger.info "Skipping S3Backup for #{self.class} #{self.dynamo_db_guid} in development environment." return end 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_json ⇒ Object
39 40 41 42 43 44 |
# File 'lib/dyna_model/extensions/s3_backup.rb', line 39 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
35 36 37 |
# File 'lib/dyna_model/extensions/s3_backup.rb', line 35 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 |