lib/mongo_grid.rb in mongo_grid-0.2.2 vs lib/mongo_grid.rb in mongo_grid-0.2.3

- old
+ new

@@ -17,29 +17,44 @@ def remove(gid) id = BSON::ObjectId.from_string(gid) grid.delete(id) end + def fsize(length) + case length + when 0..(1024**2) + (length.to_f/1024.to_f).round(1).to_s+"K" + when (1024**2)...(1024**3) + (length.to_f/(1024**2).to_f).round(1).to_s+"M" + when (1024**3)...(1024**4) + (length.to_f/(1024**3).to_f).round(1).to_s+"G" + end + end + def uploadtogrid(upload,opts={}) filename=upload.original_filename content_type=upload.content_type if content_type.include?("image") ::Zbox::Qm.resize(upload.tempfile.path,opts) end data = File.open(upload.tempfile.path) length=File.size(upload.tempfile.path) gfile = ::Mongo::Grid::File.new(data,filename: filename, metadata: {content_type: content_type,length: length}) gid = grid.insert_one(gfile) - file_size = - case length - when 0..(1024**2) - (length.to_f/1024.to_f).round(1).to_s+"K" - when (1024**2)...(1024**3) - (length.to_f/(1024**2).to_f).round(1).to_s+"M" - when (1024**3)...(1024**4) - (length.to_f/(1024**3).to_f).round(1).to_s+"G" - end + file_size = fsize(length) hsh = {:grid_id=>gid.to_s,:filename=>filename, :content_type=>content_type,:file_size=>file_size} end + + def savetogrid(fpath,fname="poster.jpg",content_type='image/jpeg') + data = File.open(fpath) + length=File.size(fpath) + gfile = ::Mongo::Grid::File.new(data,filename: fname, metadata: {content_type: content_type,length: length}) + gid = grid.insert_one(gfile) + file_size = fsize(length) + hsh = {:grid_id=>gid.to_s,:filename=>fname, + :content_type=>content_type,:file_size=>file_size} + + end + end