disclosure 0.0.5 → 0.0.6

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.
@@ -2,16 +2,20 @@ module Disclosure
2
2
  class EmailReactor < ActionMailer::Base
3
3
  default Disclosure.configuration.email_reactor_defaults
4
4
 
5
- def react!(model, action, rule)
6
- self.notification(model, action, rule).deliver
5
+ def react!(model, action, user)
6
+ self.notification(model, action, user).deliver
7
7
  end
8
8
 
9
- def notification(model, action, rule)
9
+ def notification(model, action, user)
10
+ @model = model
11
+ @action = action
12
+ @user = user
13
+ @subject = t("disclosure.email_reactor.#{model.class.name.underscore}.#{action}.subject")
10
14
  mail(
11
- :to => rule.owner.email,
12
- :subject => t("disclosure.email_reactor.#{rule.notifier_class}.#{action}.subject"),
13
- :template_path => "disclosure/email/#{rule.notifier_class}",
14
- :template_name => "action"
15
+ :to => @user.email,
16
+ :subject => @subject,
17
+ :template_path => "disclosure/email/#{model.class.name.underscore}",
18
+ :template_name => @action
15
19
  )
16
20
  end
17
21
  end
@@ -9,12 +9,19 @@ module Disclosure
9
9
  def self.instrument!
10
10
  Disclosure.configuration.notifier_classes.each do |klass|
11
11
  klass.class_eval do
12
- after_commit :notify_disclosure
12
+ around_save :notify_disclosure_with_save
13
13
 
14
14
  private
15
15
 
16
- def notify_disclosure
17
- ActiveSupport::Notifications.instrument("disclosure.model_updated", :model => self)
16
+ def notify_disclosure_with_save
17
+ # Keep track of the original model to pick up changes properly
18
+ @model_before_save = self
19
+
20
+ # Call save, etc.
21
+ yield
22
+
23
+ # Send the notification with the original model
24
+ ActiveSupport::Notifications.instrument("disclosure.model_saved", :model => @model_before_save)
18
25
  end
19
26
  end
20
27
  end
@@ -1,3 +1,3 @@
1
1
  module Disclosure
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: disclosure
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
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-04-01 00:00:00.000000000 Z
12
+ date: 2013-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -100,7 +100,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  segments:
102
102
  - 0
103
- hash: -3608972705387088730
103
+ hash: 4604734519384497078
104
104
  required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  segments:
111
111
  - 0
112
- hash: -3608972705387088730
112
+ hash: 4604734519384497078
113
113
  requirements: []
114
114
  rubyforge_project:
115
115
  rubygems_version: 1.8.23