dripper_mail 0.0.10 → 0.0.16

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7229cafc0a753c98f305704d6a8e9c96c5fcc603
4
- data.tar.gz: 23f8374124ad4802773d9b792e099b42f5f3d7c1
3
+ metadata.gz: 666c5a38422a54f7f98c2aa48a3279625f6190e2
4
+ data.tar.gz: 279cb368237e5bbb4e6c92c8c647ce0b4b72e892
5
5
  SHA512:
6
- metadata.gz: 7f24f92c4b97024c0a3773d7c806c965acd26f8552bdcf4bfeb6fe54d50aa7b9f09ff9d122d3141c5d1d8d5424711a0da298b26ea0a2bbab179486a2d71f2789
7
- data.tar.gz: 4b845d6dd342f274ee3e1971c7f2a4c43133a355825875b238936448fa447c94b5160aa051a61e3f898faa285d8db0a3426d5a19720f16b77e725e4c573cc386
6
+ metadata.gz: eab05228783f050decb81acc85e5dbe50bf3440686fb552a346fdecd44e87bb90ab8432597063335d53a71a5adc52e9617824ac5aee4af78cf55856a436327a9
7
+ data.tar.gz: ae3742b6dc5f045048b467acbed9302735cfd6f6a9237268556c91d6eac57518c8fb1807a87464ae05bf6c013e354ca192ef8d427372e98d9c54d486c665588a
@@ -4,6 +4,8 @@ module Dripper
4
4
 
5
5
  included do
6
6
  after_create :execute_drippers
7
+ after_update :execute_drippers
8
+ after_touch :execute_drippers
7
9
 
8
10
  def execute_drippers
9
11
  DripperJob.perform_later self
@@ -1,3 +1,3 @@
1
1
  module Dripper
2
- VERSION = "0.0.10"
2
+ VERSION = "0.0.16"
3
3
  end
data/lib/dripper_mail.rb CHANGED
@@ -53,7 +53,7 @@ class DripperProxy
53
53
  if opts[:scope]
54
54
  instance_variable_set "@scope", self.parent.scope.merge(opts[:scope])
55
55
  else
56
- instance_variable_ste "@scope", self.parent.scope
56
+ instance_variable_set "@scope", self.parent.scope
57
57
  end
58
58
  end
59
59
 
@@ -75,7 +75,8 @@ class DripperProxy
75
75
  Dripper::Action.where(action: self.action.to_s, mailer: self.mailer.to_s).first_or_create
76
76
  end
77
77
 
78
- def execute(item = nil)
78
+ def scoped_recs(item = nil)
79
+
79
80
  dripper_action = Dripper::Action.find_by(action: self.action.to_s, mailer: self.mailer.to_s)
80
81
 
81
82
  all_recs = self.model.to_s.classify.constantize.send(:all)
@@ -85,17 +86,23 @@ class DripperProxy
85
86
  .where(drippable_type: self.model.to_s.classify.to_s, dripper_action_id: dripper_action.id)
86
87
  .select(:drippable_id)
87
88
 
88
- scoped_recs = all_recs
89
+ final_scope = all_recs
89
90
  .merge(self.scope)
90
91
  .where.not(id: already_sent)
91
92
  .where("#{self.model.to_s.classify.constantize.table_name}.created_at >= ?", dripper_action.created_at.change(usec: 0))
92
93
 
93
94
  if item
94
- scoped_recs = scoped_recs.where(id: item.id)
95
+ final_scope = final_scope.where(id: item.id)
95
96
  end
96
97
 
98
+ return final_scope
99
+
100
+ end
97
101
 
98
- scoped_recs.each do |obj|
102
+ def execute(item = nil)
103
+
104
+ dripper_action = Dripper::Action.find_by(action: self.action.to_s, mailer: self.mailer.to_s)
105
+ scoped_recs(item).each do |obj|
99
106
 
100
107
  # instantiate the mailer and run the code
101
108
  mailer_obj = self.mailer.to_s.classify.constantize
@@ -0,0 +1,6 @@
1
+ # desc "Runs dripper for all configured jobs"
2
+ namespace :dripper do
3
+ task :run => :environment do
4
+ Dripper.execute
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ Dripper.config model: :users do
2
+ dripper mailer: :user_mailer do
3
+ dripper action: :welcome
4
+ dripper action: :newsletter, wait: 1.minutes, scope: -> {has_username}
5
+ end
6
+ end
Binary file
@@ -422,3 +422,20 @@ Migrating to CreateDripperMessages (20160331213900)
422
422
  FROM sqlite_temp_master
423
423
  WHERE name='index_dripper_messages_on_drippable_type_and_drippable_id' AND type='index'
424
424
 
425
+ Dripper::Action Load (0.1ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
426
+  (0.0ms) begin transaction
427
+ SQL (0.3ms) INSERT INTO "dripper_actions" ("action", "mailer", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["action", "welcome"], ["mailer", "user_mailer"], ["created_at", "2016-04-08 17:46:40.505133"], ["updated_at", "2016-04-08 17:46:40.505133"]]
428
+  (0.4ms) commit transaction
429
+ Dripper::Action Load (0.1ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "newsletter"], ["mailer", "user_mailer"]]
430
+  (0.0ms) begin transaction
431
+ SQL (0.1ms) INSERT INTO "dripper_actions" ("action", "mailer", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["action", "newsletter"], ["mailer", "user_mailer"], ["created_at", "2016-04-08 17:46:40.507200"], ["updated_at", "2016-04-08 17:46:40.507200"]]
432
+  (0.4ms) commit transaction
433
+ Dripper::Action Load (0.2ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
434
+ Dripper::Action Load (0.0ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "newsletter"], ["mailer", "user_mailer"]]
435
+ Dripper::Action Load (0.2ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
436
+ Dripper::Action Load (0.0ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "newsletter"], ["mailer", "user_mailer"]]
437
+ Dripper::Action Load (0.1ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
438
+ Dripper::Action Load (0.0ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? ORDER BY "dripper_actions"."id" ASC LIMIT 1 [["action", "newsletter"], ["mailer", "user_mailer"]]
439
+ Dripper::Action Load (0.3ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
440
+ Dripper::Action Load (0.0ms) SELECT "dripper_actions".* FROM "dripper_actions" WHERE "dripper_actions"."action" = ? AND "dripper_actions"."mailer" = ? LIMIT 1 [["action", "welcome"], ["mailer", "user_mailer"]]
441
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE ("users"."id" NOT IN (SELECT "dripper_messages"."drippable_id" FROM "dripper_messages" WHERE "dripper_messages"."drippable_type" = ? AND "dripper_messages"."dripper_action_id" = ?)) AND (users.created_at >= '2016-04-08 17:46:40.000000') [["drippable_type", "User"], ["dripper_action_id", 1]]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dripper_mail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Douglas Tarr
@@ -62,7 +62,7 @@ files:
62
62
  - lib/dripper/engine.rb
63
63
  - lib/dripper/version.rb
64
64
  - lib/dripper_mail.rb
65
- - lib/tasks/dripper_tasks.rake
65
+ - lib/tasks/dripper_mail_tasks.rake
66
66
  - test/dripper_test.rb
67
67
  - test/dummy/README.rdoc
68
68
  - test/dummy/Rakefile
@@ -102,6 +102,7 @@ files:
102
102
  - test/dummy/config/initializers/assets.rb
103
103
  - test/dummy/config/initializers/backtrace_silencers.rb
104
104
  - test/dummy/config/initializers/cookies_serializer.rb
105
+ - test/dummy/config/initializers/dripper.rb
105
106
  - test/dummy/config/initializers/filter_parameter_logging.rb
106
107
  - test/dummy/config/initializers/inflections.rb
107
108
  - test/dummy/config/initializers/mime_types.rb
@@ -188,6 +189,7 @@ test_files:
188
189
  - test/dummy/config/initializers/assets.rb
189
190
  - test/dummy/config/initializers/backtrace_silencers.rb
190
191
  - test/dummy/config/initializers/cookies_serializer.rb
192
+ - test/dummy/config/initializers/dripper.rb
191
193
  - test/dummy/config/initializers/filter_parameter_logging.rb
192
194
  - test/dummy/config/initializers/inflections.rb
193
195
  - test/dummy/config/initializers/mime_types.rb
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :dripper do
3
- # # Task goes here
4
- # end