diff options
author | Henare Degan <henare.degan@gmail.com> | 2013-02-27 12:58:36 +1100 |
---|---|---|
committer | Henare Degan <henare.degan@gmail.com> | 2013-02-27 12:58:36 +1100 |
commit | 65247a15ab8d876d7fd60ccf6ef91e2487c166e5 (patch) | |
tree | ba5c9b4e6ab187c396e3cd41022a0cc47fa54953 | |
parent | 835b51c1de0d49e652fe9c9a60f0974275de070c (diff) |
Fix calculation of attachment sizes in Ruby 1.9.3
force_encoding is generally not a good idea and I can't see what it's trying to achieve here so...
Revert "Use the character set of the attachment to encode the string that we're pulling out of the file before converting it to our default encoding."
This reverts commit 3729f2053d4c04396d440a9c368bed174e9c9605.
-rw-r--r-- | app/models/foi_attachment.rb | 14 | ||||
-rw-r--r-- | app/models/incoming_message.rb | 3 |
2 files changed, 0 insertions, 17 deletions
diff --git a/app/models/foi_attachment.rb b/app/models/foi_attachment.rb index 768e8d1d3..e73294f0f 100644 --- a/app/models/foi_attachment.rb +++ b/app/models/foi_attachment.rb @@ -63,22 +63,9 @@ class FoiAttachment < ActiveRecord::Base file.write d } update_display_size! - encode_cached_body! @cached_body = d end - # If the original mail part had a charset, it's some kind of string, so assume that - # it should be handled as a string in the stated charset, not a bytearray, and then - # convert it our default encoding. For ruby 1.8 this is a noop. - def encode_cached_body! - if RUBY_VERSION.to_f >= 1.9 - if charset - @cached_body.force_encoding(charset) - @cached_body = @cached_body.encode(Encoding.default_internal, charset) - end - end - end - def body if @cached_body.nil? tries = 0 @@ -99,7 +86,6 @@ class FoiAttachment < ActiveRecord::Base self.incoming_message.parse_raw_email!(force) retry end - encode_cached_body! end return @cached_body end diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index 229d3bf24..f0367bbea 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_message.rb @@ -633,10 +633,7 @@ class IncomingMessage < ActiveRecord::Base attachments = [] attachment_attributes.each do |attrs| attachment = self.foi_attachments.find_or_create_by_hexdigest(attrs[:hexdigest]) - body = attrs.delete(:body) attachment.update_attributes(attrs) - # Set the body separately as its handling can depend on the value of charset - attachment.body = body attachment.save! attachments << attachment.id end |