44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'app/models/concen/grid_file.rb', line 44
def store(content, filename)
grid = Mongo::Grid.new(Mongoid.database)
grid.delete(self.grid_id) if self.grid_id
original_filename = filename.dup
file_extension = File.extname(original_filename).downcase
content_type = MIME::Types.type_for(original_filename).first.to_s
grid_id = BSON::ObjectId.new
filename = File.basename(original_filename, file_extension).downcase.parameterize.gsub("_", "-")
filename = "#{grid_id.to_s}-#{filename}#{file_extension}"
if grid.put(content, :_id => grid_id, :filename => filename, :content_type => content_type, :safe => true)
self.update_attributes(:grid_id => grid_id, :filename => filename, :original_filename => original_filename)
else
return false
end
end
|