sidekiq_mailer 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: