aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenare Degan <henare.degan@gmail.com>2013-02-27 12:58:36 +1100
committerHenare Degan <henare.degan@gmail.com>2013-02-27 12:58:36 +1100
commit65247a15ab8d876d7fd60ccf6ef91e2487c166e5 (patch)
treeba5c9b4e6ab187c396e3cd41022a0cc47fa54953
parent835b51c1de0d49e652fe9c9a60f0974275de070c (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.rb14
-rw-r--r--app/models/incoming_message.rb3
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