Commit a5b37281bca8497128972d2cc2c12a7a592ecffd
1 parent
393b6332
Exists in
master
and in
28 other branches
Making the sanitizer an active record extension
Showing
5 changed files
with
18 additions
and
3 deletions
Show diff stats
app/models/image.rb
... | ... | @@ -4,7 +4,7 @@ class Image < ActiveRecord::Base |
4 | 4 | Image.attachment_options[:max_size] |
5 | 5 | end |
6 | 6 | |
7 | - before_create { |file| file.filename = Environment.verify_filename(file.filename) } | |
7 | + sanitize_filename | |
8 | 8 | |
9 | 9 | has_attachment :content_type => :image, |
10 | 10 | :storage => :file_system, | ... | ... |
app/models/thumbnail.rb
... | ... | @@ -3,7 +3,7 @@ class Thumbnail < ActiveRecord::Base |
3 | 3 | :content_type => :image, :max_size => 5.megabytes |
4 | 4 | validates_as_attachment |
5 | 5 | |
6 | - before_create { |file| file.filename = Environment.verify_filename(file.filename) } | |
6 | + sanitize_filename | |
7 | 7 | |
8 | 8 | postgresql_attachment_fu |
9 | 9 | end | ... | ... |
app/models/uploaded_file.rb
... | ... | @@ -18,9 +18,10 @@ class UploadedFile < Article |
18 | 18 | |
19 | 19 | validates_size_of :title, :maximum => 60, :if => (lambda { |file| !file.title.blank? }) |
20 | 20 | |
21 | + sanitize_filename | |
22 | + | |
21 | 23 | before_create do |uploaded_file| |
22 | 24 | uploaded_file.is_image = true if uploaded_file.image? |
23 | - uploaded_file.filename = Environment.verify_filename(uploaded_file.filename) | |
24 | 25 | end |
25 | 26 | |
26 | 27 | def thumbnail_path | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +require 'upload_sanitizer' | ... | ... |
... | ... | @@ -0,0 +1,13 @@ |
1 | +module UploadSanitizer | |
2 | + def self.included(base) | |
3 | + base.extend(ClassMethods) | |
4 | + end | |
5 | + | |
6 | + module ClassMethods | |
7 | + def sanitize_filename | |
8 | + before_create { |file| file.filename = Environment.verify_filename(file.filename) } | |
9 | + end | |
10 | + end | |
11 | +end | |
12 | + | |
13 | +ActiveRecord::Base.send(:include, UploadSanitizer) | ... | ... |