wfl_simple_activity 0.1.13 → 0.1.15

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
  SHA256:
3
- metadata.gz: c141b35fb1b361c462e67dc5379ef1f83db47d6355ca1b59e7c433b62debf147
4
- data.tar.gz: 64f29ebc950729d31182119894c800e3a69a1067f66614773203fad039ab5c48
3
+ metadata.gz: 673204e78ec26a69f4061a1664732d6f7d328501eba76f9afad2b001daac95cd
4
+ data.tar.gz: 6b6bc9d45fde533189b74e3266060133fd38c932d4428b8295d7fbd00845e321
5
5
  SHA512:
6
- metadata.gz: '0317108daeabb9009e9d06751f34cd96c808b3968426a1287286f0ab5804f9764135d1aa19a6163ddc00a93dbe65a8936d673547ac8db493f34bb7cb54574c20'
7
- data.tar.gz: aef30148b5457d759bc0125d07bb0279dd4cb105b341cd70fbd636e1e69fad60600f4db6a6fea68a3f42a1701676c86338be8f0cf9b280032d4be359e57029a6
6
+ metadata.gz: 8063e654ee7ad4031d5bf6f36bc6a7a595f2afab471bfaa92bf3ef4facb03390c7c2200b8c6706470721671f93d93a7694a1e508f8e7775e46fb9ad42550b023
7
+ data.tar.gz: d069374db2aa1951128d4348a4fea53590287c155bb2d23ba05240c56d61f99c9702a6b07bff20bc16f644bf85bb0c68b2ea73549ddfe79b38603961e4b5d0ec
data/README.md CHANGED
@@ -26,12 +26,24 @@ Or install it yourself as:
26
26
  ## 开发
27
27
 
28
28
  #### 单表记录
29
- * 执行上面两步之后,在需要记录数据变更的Model中 `include CommonActivity` ,这样便会记录该Model的数据变更日志,在
29
+ * 执行上面两步之后,在需要记录数据变更的Model中 `include WflActivity` ,这样便会记录该Model的数据变更日志,在
30
30
  数据发生变化,将会创建 `activity`, 在项目中可以通过 `model_name.activities` 或者 `PublicActivity::Activity.where(condition)`来获取活动日志
31
31
 
32
32
  #### 关联表记录 或者 其余特殊情况
33
+
33
34
  * 如果需要在关联模型数据发生变更时记录当前模型的`activity`,需要自行在关联的模型中通过`model_name.create_activity key: 'article.commented_on', owner: current_user, recipient: recipientm`来创建`activity`,create_activity方法参数可参考 [PublicActivity::Common#create_activity](https://rubydoc.info/gems/public_activity/PublicActivity/Common:create_activity)
34
35
 
36
+ #### 注意事项
37
+
38
+ * 生成的migration文件中需自行migration版本指定对应的版本
39
+
40
+ * 如果需要记录current_user 或者 调用其他在controller中的方法,需要在 `application_controller.rb`中 `include PublicActivity::StoreController`
41
+
42
+ * 自行获取 controller 上下文:
43
+ ```ruby
44
+ PublicActivity.get_controller
45
+ ```
46
+
35
47
  ## Contributing
36
48
 
37
49
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/wfl_simple_activity.
@@ -13,9 +13,15 @@ module WflActivity
13
13
 
14
14
  # 如果不需要删除记录
15
15
  # has_many :activities, as: :trackable, class_name: 'PublicActivity::Activity', dependent: :destroy
16
-
16
+
17
17
  after_rollback proc {
18
- self.create_activity key: "#{self.class.name.underscore}.failed", owner: User.find(Thread.current[:user_id]), recipient: self
18
+ # 由于after_rollback是ActiveRecord自带的回调,并不支持获取controller,所以需要借助PublicActivity
19
+ controller = PublicActivity.get_controller
20
+ if self.id.blank?
21
+ PublicActivity::Activity.create key: "#{self.class.name.underscore}.failed", owner: controller&.current_user, parameters: controller&.params&.to_h, model_changes: self.changes
22
+ else
23
+ self.create_activity key: "#{self.class.name.underscore}.failed", owner: User.find(Thread.current[:user_id]), recipient: self
24
+ end
19
25
  }
20
26
  end
21
27
  end
@@ -1,3 +1,3 @@
1
1
  module WflSimpleActivity
2
- VERSION = "0.1.13"
2
+ VERSION = "0.1.15"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wfl_simple_activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - longhaoran