Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to mini_mime for memory savings #1059

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
53 changes: 0 additions & 53 deletions .travis.yml
Expand Up @@ -7,9 +7,6 @@ bundler_args: --without local_development
script: bundle exec rake

rvm:
- 1.8.7
- 1.9.2
- 1.9.3
- 2.0.0
- 2.1.10
- 2.2.6
Expand All @@ -21,58 +18,8 @@ rvm:
- jruby-head
- rbx-2

gemfile:
- gemfiles/mime_types_1.16.gemfile
- gemfiles/mime_types_2.0.gemfile
- gemfiles/mime_types_2.1.gemfile
- gemfiles/mime_types_2.2.gemfile
- gemfiles/mime_types_2.3.gemfile
- gemfiles/mime_types_2.4.gemfile
- gemfiles/mime_types_2.5.gemfile
- gemfiles/mime_types_2.6.gemfile
- gemfiles/mime_types_2.6_columnar.gemfile
- gemfiles/mime_types_2.99.gemfile
- gemfiles/mime_types_3.0.gemfile
- gemfiles/mime_types_edge.gemfile

matrix:
exclude:
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.0.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.1.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.2.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.3.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.4.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.5.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.6.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.6_columnar.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.99.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_2.latest.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_3.0.gemfile
- rvm: 1.8.7
gemfile: gemfiles/mime_types_edge.gemfile
- rvm: 1.9.2
gemfile: gemfiles/mime_types_3.0.gemfile
- rvm: 1.9.2
gemfile: gemfiles/mime_types_edge.gemfile
- rvm: 1.9.3
gemfile: gemfiles/mime_types_3.0.gemfile
- rvm: 1.9.3
gemfile: gemfiles/mime_types_edge.gemfile
- rvm: jruby
gemfile: gemfiles/mime_types_3.0.gemfile
- rvm: jruby
gemfile: gemfiles/mime_types_edge.gemfile
allow_failures:
- rvm: ruby-head
- rvm: jruby-9.0.5.0
Expand Down
47 changes: 0 additions & 47 deletions Appraisals

This file was deleted.

1 change: 0 additions & 1 deletion Dependencies.txt
@@ -1,2 +1 @@
tlsmail: if ruby < 1.8.6... we could make it optional, or embed it in Mail
mime/types: I think we embed a simplified version, or help maintain it, it is old (2006)
9 changes: 0 additions & 9 deletions Gemfile
Expand Up @@ -2,13 +2,4 @@ source 'https://rubygems.org'

gemspec

gem 'tlsmail', '~> 0.0.1' if RUBY_VERSION <= '1.8.6'
gem 'jruby-openssl', :platforms => :jruby
gem 'rake', '< 11.0', :platforms => :ruby_18
gem 'rdoc', '< 4.3', :platforms => [ :ruby_18, :ruby_19 ]
gem 'mime-types', '< 2.0', :platforms => [ :ruby_18, :ruby_19 ]

# For gems not required to run tests
group :local_development, :test do
gem 'appraisal', '~> 1.0' unless RUBY_VERSION < '1.9'
end
6 changes: 0 additions & 6 deletions Rakefile
Expand Up @@ -19,11 +19,5 @@ RSpec::Core::RakeTask.new(:spec) do |t|
t.rspec_opts = %w(--backtrace --color)
end

begin
require "appraisal"
rescue LoadError, SyntaxError
warn "Appraisal is only available in test/development on Ruby 1.9+"
end

# load custom rake tasks
Dir["#{File.dirname(__FILE__)}/tasks/**/*.rake"].sort.each { |ext| load ext }
14 changes: 0 additions & 14 deletions gemfiles/mime_types_1.16.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.0.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.1.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.2.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.3.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.4.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.5.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.6.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.6_columnar.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_2.99.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_3.0.gemfile

This file was deleted.

14 changes: 0 additions & 14 deletions gemfiles/mime_types_edge.gemfile

This file was deleted.

8 changes: 1 addition & 7 deletions lib/mail.rb
Expand Up @@ -7,13 +7,7 @@ module Mail # :doc:

require 'uri'
require 'net/smtp'

begin
# Use mime/types/columnar if available, for reduced memory usage
require 'mime/types/columnar'
rescue LoadError
require 'mime/types'
end
require 'mini_mime'

if RUBY_VERSION <= '1.8.6'
begin
Expand Down
5 changes: 3 additions & 2 deletions lib/mail/attachments_list.rb
Expand Up @@ -60,7 +60,7 @@ def []=(name, value)

if value[:mime_type]
default_values[:content_type] = value.delete(:mime_type)
@mime_type = MIME::Types[default_values[:content_type]].first
@mime_type = MiniMime.lookup_by_content_type(default_values[:content_type])
default_values[:content_transfer_encoding] ||= guess_encoding
end

Expand Down Expand Up @@ -99,7 +99,8 @@ def set_mime_type(filename)
filename = filename.encode(Encoding::UTF_8) if filename.respond_to?(:encode)
end

@mime_type = MIME::Types.type_for(filename).first
@mime_type = MiniMime.lookup_by_filename(filename)
@mime_type && @mime_type.content_type
end

end
Expand Down
2 changes: 1 addition & 1 deletion mail.gemspec
Expand Up @@ -14,7 +14,7 @@ Gem::Specification.new do |s|
s.extra_rdoc_files = ["README.md", "CONTRIBUTING.md", "CHANGELOG.rdoc", "TODO.rdoc"]
s.rdoc_options << '--exclude' << 'lib/mail/values/unicode_tables.dat'

s.add_dependency('mime-types', [">= 1.16", "< 4"])
s.add_dependency('mini_mime', [">= 0.1.1"])

s.add_development_dependency('bundler', '>= 1.0.3')
s.add_development_dependency('rake', '> 0.8.7')
Expand Down