module S3Columns::InstanceMethods
Public Instance Methods
s3_column_upload_on_create()
click to toggle source
# File lib/ar_s3_columns/instance_methods.rb, line 3 def s3_column_upload_on_create self.class.s3_columns.each do |column_name| column_value = self.read_attribute(column_name.to_sym) next if column_value.blank? marshalled_data = Marshal.dump(column_value) key_path = self.class.s3_columns_keys[column_name.to_sym].call(self) bucket_name = self.class.s3_columns_buckets[column_name.to_sym] write_options = S3Columns.default_s3_write_options || {} S3Columns.s3_connection.buckets[bucket_name].objects[key_path].write(marshalled_data, write_options) # saves key to column write_attribute(column_name.to_sym, key_path) end end