diff --git a/app/models/image.rb b/app/models/image.rb index 2b22672..05e1f7c 100644 --- a/app/models/image.rb +++ b/app/models/image.rb @@ -4,7 +4,7 @@ class Image < ActiveRecord::Base Image.attachment_options[:max_size] end - before_create { |file| file.filename = Environment.verify_filename(file.filename) } + sanitize_filename has_attachment :content_type => :image, :storage => :file_system, diff --git a/app/models/thumbnail.rb b/app/models/thumbnail.rb index 26e9f40..b2fddf1 100644 --- a/app/models/thumbnail.rb +++ b/app/models/thumbnail.rb @@ -3,7 +3,7 @@ class Thumbnail < ActiveRecord::Base :content_type => :image, :max_size => 5.megabytes validates_as_attachment - before_create { |file| file.filename = Environment.verify_filename(file.filename) } + sanitize_filename postgresql_attachment_fu end diff --git a/app/models/uploaded_file.rb b/app/models/uploaded_file.rb index af9572c..ee1d56f 100644 --- a/app/models/uploaded_file.rb +++ b/app/models/uploaded_file.rb @@ -18,9 +18,10 @@ class UploadedFile < Article validates_size_of :title, :maximum => 60, :if => (lambda { |file| !file.title.blank? }) + sanitize_filename + before_create do |uploaded_file| uploaded_file.is_image = true if uploaded_file.image? - uploaded_file.filename = Environment.verify_filename(uploaded_file.filename) end def thumbnail_path diff --git a/config/initializers/active_record_extensions.rb b/config/initializers/active_record_extensions.rb new file mode 100644 index 0000000..e530435 --- /dev/null +++ b/config/initializers/active_record_extensions.rb @@ -0,0 +1 @@ +require 'upload_sanitizer' diff --git a/lib/upload_sanitizer.rb b/lib/upload_sanitizer.rb new file mode 100644 index 0000000..f950b9a --- /dev/null +++ b/lib/upload_sanitizer.rb @@ -0,0 +1,13 @@ +module UploadSanitizer + def self.included(base) + base.extend(ClassMethods) + end + + module ClassMethods + def sanitize_filename + before_create { |file| file.filename = Environment.verify_filename(file.filename) } + end + end +end + +ActiveRecord::Base.send(:include, UploadSanitizer) -- libgit2 0.21.2