dripper_mail 0.0.1

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.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/javascripts/dripper/application.js +13 -0
  5. data/app/assets/stylesheets/dripper/application.css +15 -0
  6. data/app/controllers/dripper/application_controller.rb +5 -0
  7. data/app/helpers/dripper/application_helper.rb +4 -0
  8. data/app/models/dripper/action.rb +6 -0
  9. data/app/models/dripper/message.rb +8 -0
  10. data/app/views/layouts/dripper/application.html.erb +14 -0
  11. data/config/routes.rb +2 -0
  12. data/db/migrate/20160331213900_create_dripper_messages.rb +17 -0
  13. data/lib/dripper.rb +108 -0
  14. data/lib/dripper/drippable.rb +16 -0
  15. data/lib/dripper/dripper_job.rb +11 -0
  16. data/lib/dripper/engine.rb +5 -0
  17. data/lib/dripper/version.rb +3 -0
  18. data/lib/tasks/dripper_tasks.rake +4 -0
  19. data/test/dripper_test.rb +7 -0
  20. data/test/dummy/README.rdoc +28 -0
  21. data/test/dummy/Rakefile +6 -0
  22. data/test/dummy/app/assets/javascripts/application.js +13 -0
  23. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  24. data/test/dummy/app/controllers/application_controller.rb +5 -0
  25. data/test/dummy/app/helpers/application_helper.rb +2 -0
  26. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  27. data/test/dummy/app/mailers/user_mailer.rb +57 -0
  28. data/test/dummy/app/models/newsletter.rb +4 -0
  29. data/test/dummy/app/models/user.rb +3 -0
  30. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/test/dummy/app/views/layouts/mailer.html.erb +5 -0
  32. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  33. data/test/dummy/app/views/user_mailer/day1.html.erb +5 -0
  34. data/test/dummy/app/views/user_mailer/day1.text.erb +3 -0
  35. data/test/dummy/app/views/user_mailer/day3.html.erb +5 -0
  36. data/test/dummy/app/views/user_mailer/day3.text.erb +3 -0
  37. data/test/dummy/app/views/user_mailer/day7.html.erb +5 -0
  38. data/test/dummy/app/views/user_mailer/day7.text.erb +3 -0
  39. data/test/dummy/app/views/user_mailer/newsletter.html.erb +5 -0
  40. data/test/dummy/app/views/user_mailer/newsletter.text.erb +3 -0
  41. data/test/dummy/app/views/user_mailer/welcome.html.erb +5 -0
  42. data/test/dummy/app/views/user_mailer/welcome.text.erb +3 -0
  43. data/test/dummy/bin/bundle +3 -0
  44. data/test/dummy/bin/rails +4 -0
  45. data/test/dummy/bin/rake +4 -0
  46. data/test/dummy/bin/setup +29 -0
  47. data/test/dummy/config.ru +4 -0
  48. data/test/dummy/config/application.rb +26 -0
  49. data/test/dummy/config/boot.rb +5 -0
  50. data/test/dummy/config/database.yml +25 -0
  51. data/test/dummy/config/environment.rb +6 -0
  52. data/test/dummy/config/environments/development.rb +41 -0
  53. data/test/dummy/config/environments/production.rb +79 -0
  54. data/test/dummy/config/environments/test.rb +42 -0
  55. data/test/dummy/config/initializers/assets.rb +11 -0
  56. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  57. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  58. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  59. data/test/dummy/config/initializers/inflections.rb +16 -0
  60. data/test/dummy/config/initializers/mime_types.rb +4 -0
  61. data/test/dummy/config/initializers/session_store.rb +3 -0
  62. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  63. data/test/dummy/config/locales/en.yml +23 -0
  64. data/test/dummy/config/routes.rb +4 -0
  65. data/test/dummy/config/secrets.yml +22 -0
  66. data/test/dummy/db/development.sqlite3 +0 -0
  67. data/test/dummy/db/schema.rb +51 -0
  68. data/test/dummy/db/test.sqlite3 +0 -0
  69. data/test/dummy/log/RAILS_ENV=test.log +0 -0
  70. data/test/dummy/log/development.log +424 -0
  71. data/test/dummy/log/test.log +24512 -0
  72. data/test/dummy/public/404.html +67 -0
  73. data/test/dummy/public/422.html +67 -0
  74. data/test/dummy/public/500.html +66 -0
  75. data/test/dummy/public/favicon.ico +0 -0
  76. data/test/integration/navigation_test.rb +8 -0
  77. data/test/models/dripper/action_test.rb +9 -0
  78. data/test/models/dripper/concern_test.rb +40 -0
  79. data/test/models/dripper/dripper_action_test.rb +9 -0
  80. data/test/models/dripper/message_test.rb +55 -0
  81. data/test/models/dripper/run_twice_test.rb +52 -0
  82. data/test/test_helper.rb +22 -0
  83. metadata +219 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActionDispatch::IntegrationTest
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
8
+
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module Dripper
4
+ class ActionTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+ require 'mocha'
3
+ require 'mocha/mini_test'
4
+
5
+ module Dripper
6
+ class ConcernTest < ActiveSupport::TestCase
7
+ require 'dripper'
8
+
9
+ def setup
10
+ Dripper.config model: :newsletters do
11
+ dripper mailer: :user_mailer do
12
+ dripper action: :newsletter
13
+ end
14
+ end
15
+
16
+ end
17
+
18
+
19
+ def teardown
20
+ Dripper.registry.clear
21
+ end
22
+
23
+ test "Concern Test" do
24
+
25
+ # make sure it never runs again for the same users
26
+ msg = mock()
27
+ msg.stubs(:deliver_now)
28
+
29
+ UserMailer.stubs(:newsletter)
30
+ .with(instance_of(Newsletter))
31
+ .returns(msg)
32
+ .at_least(1)
33
+
34
+ u = User.create(email: "foo@bar.com")
35
+ Newsletter.create(user: u, title: "test")
36
+
37
+ end
38
+
39
+ end
40
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module Dripper
4
+ class DripperActionTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+ require 'mocha'
3
+ require 'mocha/mini_test'
4
+
5
+ module Dripper
6
+ class MessageTest < ActiveSupport::TestCase
7
+ require 'dripper'
8
+
9
+ def setup
10
+ # create the mailer
11
+ User.create(email: "foo@bar.com", username: "foo")
12
+ User.create(email: "foo2@bar.com")
13
+ User.create(email: "foo3@bar.com")
14
+
15
+ Dripper.config model: :users do
16
+ dripper mailer: :user_mailer do
17
+ dripper action: :welcome
18
+ dripper action: :newsletter, scope: -> {has_username}
19
+ end
20
+ end
21
+
22
+ end
23
+
24
+
25
+ def teardown
26
+ Dripper.registry.clear
27
+ end
28
+
29
+ test "Config" do
30
+ assert Dripper.registry.count == 2
31
+ end
32
+
33
+ test "Integration" do
34
+ msg = mock()
35
+ msg.stubs(:deliver_now)
36
+
37
+ # expect that welcome was called 2x, newsletter called once
38
+ UserMailer.stubs(:welcome)
39
+ .with(instance_of(User))
40
+ .returns(msg)
41
+ .at_least(3)
42
+ .at_most(3)
43
+
44
+ UserMailer.stubs(:newsletter)
45
+ .with(instance_of(User))
46
+ .returns(msg)
47
+ .once
48
+
49
+ Dripper.execute
50
+
51
+ end
52
+
53
+
54
+ end
55
+ end
@@ -0,0 +1,52 @@
1
+ require 'test_helper'
2
+ require 'mocha'
3
+ require 'mocha/mini_test'
4
+
5
+ module Dripper
6
+ class RunTwiceTest < ActiveSupport::TestCase
7
+ require 'dripper'
8
+
9
+ def setup
10
+ Dripper.config model: :users do
11
+ dripper mailer: :user_mailer do
12
+ dripper action: :welcome
13
+ dripper action: :newsletter, scope: -> {has_username}
14
+ end
15
+ end
16
+
17
+ # create the mailer
18
+ User.create!(email: "foo@bar.com", username: "foo")
19
+ User.create!(email: "foo2@bar.com")
20
+ User.create!(email: "foo3@bar.com")
21
+ # run it once
22
+ Dripper.execute
23
+ end
24
+
25
+
26
+ def teardown
27
+ Dripper.registry.clear
28
+ end
29
+
30
+ test "2nd Run" do
31
+
32
+ # make sure it never runs again for the same users
33
+ msg = mock()
34
+ msg.stubs(:deliver_now)
35
+
36
+ # expect that welcome was called 2x, newsletter called once
37
+ UserMailer.stubs(:welcome)
38
+ .with(instance_of(User))
39
+ .returns(msg)
40
+ .never
41
+
42
+ UserMailer.stubs(:newsletter)
43
+ .with(instance_of(User))
44
+ .returns(msg)
45
+ .never
46
+
47
+ Dripper.execute
48
+
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,22 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
+ ActiveRecord::Migration.maintain_test_schema!
6
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
7
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
8
+ require "rails/test_help"
9
+
10
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
11
+ # to be shown.
12
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
13
+
14
+ # Load support files
15
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
16
+
17
+ # Load fixtures from the engine
18
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
19
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
20
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
21
+ ActiveSupport::TestCase.fixtures :all
22
+ end
metadata ADDED
@@ -0,0 +1,219 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dripper_mail
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Douglas Tarr
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: 'An opinionated rails drip email engine that depends on ActiveRecord
42
+ and ActionMailer '
43
+ email:
44
+ - douglas.tarr@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - MIT-LICENSE
50
+ - Rakefile
51
+ - app/assets/javascripts/dripper/application.js
52
+ - app/assets/stylesheets/dripper/application.css
53
+ - app/controllers/dripper/application_controller.rb
54
+ - app/helpers/dripper/application_helper.rb
55
+ - app/models/dripper/action.rb
56
+ - app/models/dripper/message.rb
57
+ - app/views/layouts/dripper/application.html.erb
58
+ - config/routes.rb
59
+ - db/migrate/20160331213900_create_dripper_messages.rb
60
+ - lib/dripper.rb
61
+ - lib/dripper/drippable.rb
62
+ - lib/dripper/dripper_job.rb
63
+ - lib/dripper/engine.rb
64
+ - lib/dripper/version.rb
65
+ - lib/tasks/dripper_tasks.rake
66
+ - test/dripper_test.rb
67
+ - test/dummy/README.rdoc
68
+ - test/dummy/Rakefile
69
+ - test/dummy/app/assets/javascripts/application.js
70
+ - test/dummy/app/assets/stylesheets/application.css
71
+ - test/dummy/app/controllers/application_controller.rb
72
+ - test/dummy/app/helpers/application_helper.rb
73
+ - test/dummy/app/mailers/application_mailer.rb
74
+ - test/dummy/app/mailers/user_mailer.rb
75
+ - test/dummy/app/models/newsletter.rb
76
+ - test/dummy/app/models/user.rb
77
+ - test/dummy/app/views/layouts/application.html.erb
78
+ - test/dummy/app/views/layouts/mailer.html.erb
79
+ - test/dummy/app/views/layouts/mailer.text.erb
80
+ - test/dummy/app/views/user_mailer/day1.html.erb
81
+ - test/dummy/app/views/user_mailer/day1.text.erb
82
+ - test/dummy/app/views/user_mailer/day3.html.erb
83
+ - test/dummy/app/views/user_mailer/day3.text.erb
84
+ - test/dummy/app/views/user_mailer/day7.html.erb
85
+ - test/dummy/app/views/user_mailer/day7.text.erb
86
+ - test/dummy/app/views/user_mailer/newsletter.html.erb
87
+ - test/dummy/app/views/user_mailer/newsletter.text.erb
88
+ - test/dummy/app/views/user_mailer/welcome.html.erb
89
+ - test/dummy/app/views/user_mailer/welcome.text.erb
90
+ - test/dummy/bin/bundle
91
+ - test/dummy/bin/rails
92
+ - test/dummy/bin/rake
93
+ - test/dummy/bin/setup
94
+ - test/dummy/config.ru
95
+ - test/dummy/config/application.rb
96
+ - test/dummy/config/boot.rb
97
+ - test/dummy/config/database.yml
98
+ - test/dummy/config/environment.rb
99
+ - test/dummy/config/environments/development.rb
100
+ - test/dummy/config/environments/production.rb
101
+ - test/dummy/config/environments/test.rb
102
+ - test/dummy/config/initializers/assets.rb
103
+ - test/dummy/config/initializers/backtrace_silencers.rb
104
+ - test/dummy/config/initializers/cookies_serializer.rb
105
+ - test/dummy/config/initializers/filter_parameter_logging.rb
106
+ - test/dummy/config/initializers/inflections.rb
107
+ - test/dummy/config/initializers/mime_types.rb
108
+ - test/dummy/config/initializers/session_store.rb
109
+ - test/dummy/config/initializers/wrap_parameters.rb
110
+ - test/dummy/config/locales/en.yml
111
+ - test/dummy/config/routes.rb
112
+ - test/dummy/config/secrets.yml
113
+ - test/dummy/db/development.sqlite3
114
+ - test/dummy/db/schema.rb
115
+ - test/dummy/db/test.sqlite3
116
+ - test/dummy/log/RAILS_ENV=test.log
117
+ - test/dummy/log/development.log
118
+ - test/dummy/log/test.log
119
+ - test/dummy/public/404.html
120
+ - test/dummy/public/422.html
121
+ - test/dummy/public/500.html
122
+ - test/dummy/public/favicon.ico
123
+ - test/integration/navigation_test.rb
124
+ - test/models/dripper/action_test.rb
125
+ - test/models/dripper/concern_test.rb
126
+ - test/models/dripper/dripper_action_test.rb
127
+ - test/models/dripper/message_test.rb
128
+ - test/models/dripper/run_twice_test.rb
129
+ - test/test_helper.rb
130
+ homepage: https://www.github.com/tarr11/dripper
131
+ licenses:
132
+ - MIT
133
+ metadata: {}
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ requirements: []
149
+ rubyforge_project:
150
+ rubygems_version: 2.4.5
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: A rails drip email engine
154
+ test_files:
155
+ - test/dripper_test.rb
156
+ - test/dummy/app/assets/javascripts/application.js
157
+ - test/dummy/app/assets/stylesheets/application.css
158
+ - test/dummy/app/controllers/application_controller.rb
159
+ - test/dummy/app/helpers/application_helper.rb
160
+ - test/dummy/app/mailers/application_mailer.rb
161
+ - test/dummy/app/mailers/user_mailer.rb
162
+ - test/dummy/app/models/newsletter.rb
163
+ - test/dummy/app/models/user.rb
164
+ - test/dummy/app/views/layouts/application.html.erb
165
+ - test/dummy/app/views/layouts/mailer.html.erb
166
+ - test/dummy/app/views/layouts/mailer.text.erb
167
+ - test/dummy/app/views/user_mailer/day1.html.erb
168
+ - test/dummy/app/views/user_mailer/day1.text.erb
169
+ - test/dummy/app/views/user_mailer/day3.html.erb
170
+ - test/dummy/app/views/user_mailer/day3.text.erb
171
+ - test/dummy/app/views/user_mailer/day7.html.erb
172
+ - test/dummy/app/views/user_mailer/day7.text.erb
173
+ - test/dummy/app/views/user_mailer/newsletter.html.erb
174
+ - test/dummy/app/views/user_mailer/newsletter.text.erb
175
+ - test/dummy/app/views/user_mailer/welcome.html.erb
176
+ - test/dummy/app/views/user_mailer/welcome.text.erb
177
+ - test/dummy/bin/bundle
178
+ - test/dummy/bin/rails
179
+ - test/dummy/bin/rake
180
+ - test/dummy/bin/setup
181
+ - test/dummy/config/application.rb
182
+ - test/dummy/config/boot.rb
183
+ - test/dummy/config/database.yml
184
+ - test/dummy/config/environment.rb
185
+ - test/dummy/config/environments/development.rb
186
+ - test/dummy/config/environments/production.rb
187
+ - test/dummy/config/environments/test.rb
188
+ - test/dummy/config/initializers/assets.rb
189
+ - test/dummy/config/initializers/backtrace_silencers.rb
190
+ - test/dummy/config/initializers/cookies_serializer.rb
191
+ - test/dummy/config/initializers/filter_parameter_logging.rb
192
+ - test/dummy/config/initializers/inflections.rb
193
+ - test/dummy/config/initializers/mime_types.rb
194
+ - test/dummy/config/initializers/session_store.rb
195
+ - test/dummy/config/initializers/wrap_parameters.rb
196
+ - test/dummy/config/locales/en.yml
197
+ - test/dummy/config/routes.rb
198
+ - test/dummy/config/secrets.yml
199
+ - test/dummy/config.ru
200
+ - test/dummy/db/development.sqlite3
201
+ - test/dummy/db/schema.rb
202
+ - test/dummy/db/test.sqlite3
203
+ - test/dummy/log/development.log
204
+ - test/dummy/log/RAILS_ENV=test.log
205
+ - test/dummy/log/test.log
206
+ - test/dummy/public/404.html
207
+ - test/dummy/public/422.html
208
+ - test/dummy/public/500.html
209
+ - test/dummy/public/favicon.ico
210
+ - test/dummy/Rakefile
211
+ - test/dummy/README.rdoc
212
+ - test/integration/navigation_test.rb
213
+ - test/models/dripper/action_test.rb
214
+ - test/models/dripper/concern_test.rb
215
+ - test/models/dripper/dripper_action_test.rb
216
+ - test/models/dripper/message_test.rb
217
+ - test/models/dripper/run_twice_test.rb
218
+ - test/test_helper.rb
219
+ has_rdoc: