sidekiq_mailer 0.0.6 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ env:
2
+ - "RAILS_VERSION=3.1.0"
3
+ - "RAILS_VERSION=3.2.0"
4
+ - "RAILS_VERSION=4.0.0"
5
+ rvm:
6
+ - 1.9.3
7
+ - 2.0.0
8
+ - jruby-19mode
data/Gemfile CHANGED
@@ -2,3 +2,16 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in sidekiq_mailer.gemspec
4
4
  gemspec
5
+
6
+ rails_version = ENV["RAILS_VERSION"] || "default"
7
+
8
+ rails = case rails_version
9
+ when "master"
10
+ {github: "rails/rails"}
11
+ when "default"
12
+ "~> 3.2.0"
13
+ else
14
+ "~> #{rails_version}"
15
+ end
16
+
17
+ gem 'actionmailer', rails
@@ -4,12 +4,14 @@ require 'sidekiq_mailer/proxy'
4
4
 
5
5
  module Sidekiq
6
6
  module Mailer
7
+ @@excluded_environments = nil
8
+
7
9
  def self.excluded_environments=(envs)
8
10
  @@excluded_environments = [*envs].map { |e| e && e.to_sym }
9
11
  end
10
12
 
11
13
  def self.excluded_environments
12
- @@excluded_environments
14
+ @@excluded_environments ||= []
13
15
  end
14
16
 
15
17
  def self.current_env
@@ -21,7 +21,7 @@ class Sidekiq::Mailer::Proxy
21
21
  end
22
22
 
23
23
  def deliver!
24
- actual_message.deliver!
24
+ actual_message.deliver
25
25
  end
26
26
 
27
27
  def method_missing(method_name, *args)
@@ -35,4 +35,4 @@ class Sidekiq::Mailer::Proxy
35
35
  }
36
36
  params.merge(@mailer_class.get_sidekiq_options)
37
37
  end
38
- end
38
+ end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module Mailer
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.8"
4
4
  end
5
5
  end
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.description = %q{Asynchronous mail delivery using sidekiq}
8
8
  gem.summary = %q{Turning ActiveMailer deliveries asynchronous using the power of sidekiq}
9
9
  gem.homepage = "http://github.com/andersondias/sidekiq_mailer"
10
+ gem.license = "MIT"
10
11
 
11
12
  gem.files = `git ls-files`.split($\)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -17,5 +18,6 @@ Gem::Specification.new do |gem|
17
18
 
18
19
  gem.add_dependency("activesupport", ">= 3.0")
19
20
  gem.add_dependency("actionmailer", ">= 3.0")
20
- gem.add_dependency("sidekiq", "~> 2.3")
21
+ gem.add_dependency("sidekiq", ">= 2.3")
22
+ gem.add_development_dependency('rake')
21
23
  end
@@ -31,6 +31,16 @@ class MailerInAnotherQueue < ActionMailer::Base
31
31
  end
32
32
  end
33
33
 
34
+ class PreventSomeEmails
35
+ def self.delivering_email(message)
36
+ if message.to.include?("foo@example.com")
37
+ message.perform_deliveries = false
38
+ end
39
+ end
40
+ end
41
+
42
+ ActionMailer::Base.register_interceptor(PreventSomeEmails)
43
+
34
44
  class SidekiqMailerTest < Test::Unit::TestCase
35
45
  def setup
36
46
  Sidekiq::Mailer.excluded_environments = []
@@ -39,50 +49,60 @@ class SidekiqMailerTest < Test::Unit::TestCase
39
49
  end
40
50
 
41
51
  def test_queue_a_new_job
42
- BasicMailer.hi('test@test.com', 'Tester').deliver
52
+ BasicMailer.hi('test@example.com', 'Tester').deliver
43
53
 
44
54
  job_args = Sidekiq::Mailer::Worker.jobs.first['args']
45
- expected_args = ['BasicMailer', 'hi', ['test@test.com', 'Tester']]
55
+ expected_args = ['BasicMailer', 'hi', ['test@example.com', 'Tester']]
46
56
  assert_equal expected_args, job_args
47
57
  end
48
58
 
49
59
  def test_queues_at_mailer_queue_by_default
50
- BasicMailer.welcome('test@test.com').deliver
60
+ BasicMailer.welcome('test@example.com').deliver
51
61
  assert_equal 'mailer', Sidekiq::Mailer::Worker.jobs.first['queue']
52
62
  end
53
63
 
54
64
  def test_default_sidekiq_options
55
- BasicMailer.welcome('test@test.com').deliver
65
+ BasicMailer.welcome('test@example.com').deliver
56
66
  assert_equal 'mailer', Sidekiq::Mailer::Worker.jobs.first['queue']
57
67
  assert_equal true, Sidekiq::Mailer::Worker.jobs.first['retry']
58
68
  end
59
69
 
60
70
  def test_enables_sidekiq_options_overriding
61
- MailerInAnotherQueue.bye('test@test.com').deliver
71
+ MailerInAnotherQueue.bye('test@example.com').deliver
62
72
  assert_equal 'priority', Sidekiq::Mailer::Worker.jobs.first['queue']
63
73
  assert_equal 'false', Sidekiq::Mailer::Worker.jobs.first['retry']
64
74
  end
65
75
 
66
76
  def test_delivers_asynchronously
67
- BasicMailer.welcome('test@test.com').deliver
77
+ BasicMailer.welcome('test@example.com').deliver
68
78
  assert_equal 1, Sidekiq::Mailer::Worker.jobs.size
69
79
  assert_equal 0, ActionMailer::Base.deliveries.size
70
80
  end
71
81
 
72
82
  def test_can_deliver_now
73
- BasicMailer.welcome('test@test.com').deliver!
83
+ BasicMailer.welcome('test@example.com').deliver!
74
84
  assert_equal 1, ActionMailer::Base.deliveries.size
75
85
  end
76
86
 
77
- def test_realy_delivers_email_when_performing_worker_job
78
- Sidekiq::Mailer::Worker.new.perform('BasicMailer', 'welcome', 'test@test.com')
87
+ def test_really_delivers_email_when_performing_worker_job
88
+ Sidekiq::Mailer::Worker.new.perform('BasicMailer', 'welcome', 'test@example.com')
79
89
  assert_equal 1, ActionMailer::Base.deliveries.size
80
90
  end
81
91
 
82
92
  def test_delivers_synchronously_if_running_in_a_excluded_environment
83
93
  Sidekiq::Mailer.excluded_environments = [:test]
84
- BasicMailer.welcome('test@test.com').deliver
94
+ BasicMailer.welcome('test@example.com').deliver
85
95
  assert_equal 0, Sidekiq::Mailer::Worker.jobs.size
86
96
  assert_equal 1, ActionMailer::Base.deliveries.size
87
97
  end
88
- end
98
+
99
+ def test_does_not_ignore_interceptors_when_delivering_synchronously
100
+ BasicMailer.welcome('foo@example.com').deliver!
101
+ assert_equal 0, ActionMailer::Base.deliveries.size
102
+ end
103
+
104
+ def test_does_not_ignore_interceptors_when_delivering_asynchronously
105
+ Sidekiq::Mailer::Worker.new.perform('BasicMailer', 'welcome', 'foo@example.com')
106
+ assert_equal 0, ActionMailer::Base.deliveries.size
107
+ end
108
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-25 00:00:00.000000000 Z
12
+ date: 2014-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: '2.3'
54
54
  type: :runtime
@@ -56,9 +56,25 @@ dependencies:
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ~>
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '2.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  description: Asynchronous mail delivery using sidekiq
63
79
  email:
64
80
  - andersondaraujo@gmail.com
@@ -67,6 +83,7 @@ extensions: []
67
83
  extra_rdoc_files: []
68
84
  files:
69
85
  - .gitignore
86
+ - .travis.yml
70
87
  - Gemfile
71
88
  - LICENSE
72
89
  - README.md
@@ -79,7 +96,8 @@ files:
79
96
  - test/sidekiq_mailer_test.rb
80
97
  - test/test_helper.rb
81
98
  homepage: http://github.com/andersondias/sidekiq_mailer
82
- licenses: []
99
+ licenses:
100
+ - MIT
83
101
  post_install_message:
84
102
  rdoc_options: []
85
103
  require_paths:
@@ -98,10 +116,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
116
  version: '0'
99
117
  requirements: []
100
118
  rubyforge_project:
101
- rubygems_version: 1.8.25
119
+ rubygems_version: 1.8.23
102
120
  signing_key:
103
121
  specification_version: 3
104
122
  summary: Turning ActiveMailer deliveries asynchronous using the power of sidekiq
105
123
  test_files:
106
124
  - test/sidekiq_mailer_test.rb
107
125
  - test/test_helper.rb
126
+ has_rdoc: