Commit a5b37281bca8497128972d2cc2c12a7a592ecffd
1 parent
393b6332
Exists in
master
and in
29 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,7 +4,7 @@ class Image < ActiveRecord::Base | ||
4 | Image.attachment_options[:max_size] | 4 | Image.attachment_options[:max_size] |
5 | end | 5 | end |
6 | 6 | ||
7 | - before_create { |file| file.filename = Environment.verify_filename(file.filename) } | 7 | + sanitize_filename |
8 | 8 | ||
9 | has_attachment :content_type => :image, | 9 | has_attachment :content_type => :image, |
10 | :storage => :file_system, | 10 | :storage => :file_system, |
app/models/thumbnail.rb
@@ -3,7 +3,7 @@ class Thumbnail < ActiveRecord::Base | @@ -3,7 +3,7 @@ class Thumbnail < ActiveRecord::Base | ||
3 | :content_type => :image, :max_size => 5.megabytes | 3 | :content_type => :image, :max_size => 5.megabytes |
4 | validates_as_attachment | 4 | validates_as_attachment |
5 | 5 | ||
6 | - before_create { |file| file.filename = Environment.verify_filename(file.filename) } | 6 | + sanitize_filename |
7 | 7 | ||
8 | postgresql_attachment_fu | 8 | postgresql_attachment_fu |
9 | end | 9 | end |
app/models/uploaded_file.rb
@@ -18,9 +18,10 @@ class UploadedFile < Article | @@ -18,9 +18,10 @@ class UploadedFile < Article | ||
18 | 18 | ||
19 | validates_size_of :title, :maximum => 60, :if => (lambda { |file| !file.title.blank? }) | 19 | validates_size_of :title, :maximum => 60, :if => (lambda { |file| !file.title.blank? }) |
20 | 20 | ||
21 | + sanitize_filename | ||
22 | + | ||
21 | before_create do |uploaded_file| | 23 | before_create do |uploaded_file| |
22 | uploaded_file.is_image = true if uploaded_file.image? | 24 | uploaded_file.is_image = true if uploaded_file.image? |
23 | - uploaded_file.filename = Environment.verify_filename(uploaded_file.filename) | ||
24 | end | 25 | end |
25 | 26 | ||
26 | def thumbnail_path | 27 | def thumbnail_path |
@@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
1 | +require 'upload_sanitizer' |
@@ -0,0 +1,13 @@ | @@ -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) |