wfl_simple_activity 0.1.12 → 0.1.18
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 +4 -4
- data/README.md +13 -1
- data/lib/generators/wfl_simple_activity/install_generator.rb +2 -2
- data/lib/generators/wfl_simple_activity/templates/activity.rb +2 -0
- data/lib/generators/wfl_simple_activity/templates/{create_activities.rb → create_wfl_activities.rb} +8 -6
- data/lib/generators/wfl_simple_activity/templates/wfl_activity.rb +8 -2
- data/lib/wfl_simple_activity/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d612ff1a75a2dfb0447f8a13b2dce86cf28207eb95b7e102c20514f23b2afdb6
|
|
4
|
+
data.tar.gz: edf9a5b0e70d5d7c0b08398310a7896197beaf309cc365a3d23e41e58f0503b0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 469a64f6a7cd7687e9284237a014ad6297046acf58b24b786ffff28779adc7c5e8f9c65017fad00a1950e4c9a6a8c2922e196c595673f837eb47a98d60d61aa2
|
|
7
|
+
data.tar.gz: e29b1fad8f7bf86c184ccfad85e4fb5f03bcf37d40d3889569d111d697607b12eeb8310b95e1fa13000366beac3f5add875c083d5ad9315dadde460897b3a42d
|
data/README.md
CHANGED
|
@@ -26,12 +26,24 @@ Or install it yourself as:
|
|
|
26
26
|
## 开发
|
|
27
27
|
|
|
28
28
|
#### 单表记录
|
|
29
|
-
* 执行上面两步之后,在需要记录数据变更的Model中 `include
|
|
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.
|
|
@@ -16,11 +16,11 @@ module WflSimpleActivity
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def create_migration_file
|
|
19
|
-
migration_template "
|
|
19
|
+
migration_template "create_wfl_activities.rb", "db/migrate/create_wfl_activities.rb"
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def copy_common_activity
|
|
23
|
-
copy_file "
|
|
23
|
+
copy_file "wfl_activity.rb", "app/models/concerns/wfl_activity.rb"
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
def copy_activity_model
|
data/lib/generators/wfl_simple_activity/templates/{create_activities.rb → create_wfl_activities.rb}
RENAMED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
# Migration responsible for creating a table with activities
|
|
2
|
-
class
|
|
2
|
+
class CreateWflActivities < ActiveRecord::Migration
|
|
3
3
|
# Create table
|
|
4
4
|
def self.up
|
|
5
|
-
create_table :
|
|
5
|
+
create_table :wfl_activities do |t|
|
|
6
6
|
t.belongs_to :trackable, :polymorphic => true
|
|
7
7
|
t.belongs_to :owner, :polymorphic => true
|
|
8
8
|
t.string :key
|
|
9
9
|
t.text :parameters
|
|
10
10
|
t.belongs_to :recipient, :polymorphic => true
|
|
11
11
|
t.text :model_changes
|
|
12
|
+
t.integer :school_id
|
|
13
|
+
t.string :description
|
|
12
14
|
t.timestamps
|
|
13
15
|
end
|
|
14
16
|
|
|
15
|
-
add_index :
|
|
16
|
-
add_index :
|
|
17
|
-
add_index :
|
|
17
|
+
add_index :wfl_activities, [:trackable_id, :trackable_type]
|
|
18
|
+
add_index :wfl_activities, [:owner_id, :owner_type]
|
|
19
|
+
add_index :wfl_activities, [:recipient_id, :recipient_type]
|
|
18
20
|
end
|
|
19
21
|
# Drop table
|
|
20
22
|
def self.down
|
|
21
|
-
drop_table :
|
|
23
|
+
drop_table :wfl_activities
|
|
22
24
|
end
|
|
23
25
|
end
|
|
@@ -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
|
-
|
|
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
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wfl_simple_activity
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- longhaoran
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-12-
|
|
11
|
+
date: 2019-12-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: public_activity
|
|
@@ -67,7 +67,7 @@ files:
|
|
|
67
67
|
- bin/setup
|
|
68
68
|
- lib/generators/wfl_simple_activity/install_generator.rb
|
|
69
69
|
- lib/generators/wfl_simple_activity/templates/activity.rb
|
|
70
|
-
- lib/generators/wfl_simple_activity/templates/
|
|
70
|
+
- lib/generators/wfl_simple_activity/templates/create_wfl_activities.rb
|
|
71
71
|
- lib/generators/wfl_simple_activity/templates/wfl_activity.rb
|
|
72
72
|
- lib/wfl_simple_activity.rb
|
|
73
73
|
- lib/wfl_simple_activity/common_activity.rb
|