audited-serialize 1.0.2 → 1.0.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9831becf62c15330c967bfb39d7de664d35f927399d49d990588c5e84ae5db3c
|
4
|
+
data.tar.gz: db7ef7657110c4c0af5460c4d9a548e72caea9eaefd56c717b35de623630b7fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e933f808d43686f17615b55748f1d3fca883e7ec79caf74a480a0cda8d136dc9eba4cb865a430950b831a509ebe965ad648307b9f36605396fc0750cbffc0cc
|
7
|
+
data.tar.gz: '0219e93533c1844bf0992a606bcbb99fa209f3803e59fb39be8644fda11e6213844b7f61796a6fa1514486fe39fe0cfc84390d930c8735db3cfe1a1788e55eab'
|
data/README.md
CHANGED
@@ -7,13 +7,13 @@
|
|
7
7
|
|
8
8
|
Добавить в Gemfile
|
9
9
|
|
10
|
-
```
|
10
|
+
```ruby
|
11
11
|
gem 'audited-serialize'
|
12
12
|
```
|
13
13
|
|
14
14
|
И выполнить:
|
15
15
|
|
16
|
-
```
|
16
|
+
```bash
|
17
17
|
bundle
|
18
18
|
```
|
19
19
|
|
@@ -21,27 +21,41 @@ bundle
|
|
21
21
|
|
22
22
|
Для вызова сериализованного списка изменений вызовите метод `.changes_list` на экземпляре audit-класса (по умолчанию - `Audited::Audit`)
|
23
23
|
|
24
|
-
```
|
24
|
+
```ruby
|
25
25
|
audit = Audited::Audit.first
|
26
26
|
audit.changes_list
|
27
|
+
|
28
|
+
=>
|
29
|
+
[
|
30
|
+
{ field: "ФИО", from: nil, to: "Test" },
|
31
|
+
{ field: "Роль", from: nil, to: "Пользователь" },
|
32
|
+
{ field: "Email", from: nil, to: "user@example.com" },
|
33
|
+
{ field: "Пароль", from: nil, to: "<новый>" }
|
34
|
+
]
|
27
35
|
```
|
28
36
|
|
29
37
|
## Заголовки аудит-логов
|
30
38
|
|
31
39
|
На экземплярах audit-класса доступен метод `.title` для вывода заголовка c информацией о том, какое действие на какой сущности было совершено
|
32
40
|
|
33
|
-
```
|
41
|
+
```ruby
|
34
42
|
audit = Audited::Audit.first
|
35
43
|
audit.title
|
36
44
|
|
37
45
|
=> "Изменение пользователя"
|
38
46
|
```
|
39
47
|
|
48
|
+
Названия сущностей (`пользователя` из примера выше) должны быть описаны в YAML-файле с переводами. Для генерации файла со списком текущих моделей, на которых предусмотрен audit-трекинг воспользуйтесь командой:
|
49
|
+
|
50
|
+
```bash
|
51
|
+
rails g audited:translations
|
52
|
+
```
|
53
|
+
|
40
54
|
## Заголовки связанных записей
|
41
55
|
|
42
56
|
При наличии в аудит-логах полей, содержащих ID связанных сущностей, по умолчанию будет отображено название (поле `name`) этой сущности. При отсутствии у сущности поля `name` или необходимости отображения значения другого поля можно задать название этого поля в модели
|
43
57
|
|
44
|
-
```
|
58
|
+
```ruby
|
45
59
|
# app/models/user.rb
|
46
60
|
|
47
61
|
class User < ApplicationRecord
|
@@ -55,7 +69,7 @@ end
|
|
55
69
|
|
56
70
|
Изменение настроек сериализации осуществляется путем редактирования стандартного файла конфигурации `Audited`
|
57
71
|
|
58
|
-
```
|
72
|
+
```ruby
|
59
73
|
# config/initializers/audited.rb
|
60
74
|
|
61
75
|
Audited.config do |config|
|
@@ -67,7 +81,7 @@ end
|
|
67
81
|
|
68
82
|
Для добавления исключений для полей сущностей, которые не будут отображаться в списке добавьте в конфиг `serialization_exceptions`.
|
69
83
|
|
70
|
-
```
|
84
|
+
```ruby
|
71
85
|
# config/initializers/audited.rb
|
72
86
|
|
73
87
|
Audited.config do |config|
|
@@ -31,8 +31,8 @@ module Audited
|
|
31
31
|
end)
|
32
32
|
|
33
33
|
def title
|
34
|
-
operation = I18n.t("
|
35
|
-
entity = I18n.t("
|
34
|
+
operation = I18n.t("audited_serialize.actions.#{action}")
|
35
|
+
entity = I18n.t("audited_serialize.auditable_types.#{auditable_type}")
|
36
36
|
|
37
37
|
"#{operation} #{entity}"
|
38
38
|
end
|
data/lib/audited_serialize.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Audited
|
2
|
+
module Generators
|
3
|
+
class TranslationsGenerator < Rails::Generators::Base
|
4
|
+
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
6
|
+
|
7
|
+
def copy_locales_file
|
8
|
+
template 'locale.rb', File.join('config/locales/audited_serialize.ru.yml')
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def models
|
14
|
+
Rails.application.eager_load!
|
15
|
+
|
16
|
+
ActiveRecord::Base.descendants.map do |model|
|
17
|
+
if model.respond_to?(:auditing_enabled)
|
18
|
+
model.to_s
|
19
|
+
end
|
20
|
+
end.compact.sort
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: audited-serialize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Павел Бабин
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '6'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: audited
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -33,6 +47,7 @@ files:
|
|
33
47
|
- README.md
|
34
48
|
- lib/audited-serialize.rb
|
35
49
|
- lib/audited/audit_extensions.rb
|
50
|
+
- lib/audited/locale/ru.yml
|
36
51
|
- lib/audited/serialization.rb
|
37
52
|
- lib/audited/serialization_changes/array_module.rb
|
38
53
|
- lib/audited/serialization_changes/boolean_module.rb
|
@@ -44,6 +59,8 @@ files:
|
|
44
59
|
- lib/audited/serialization_changes/related_record_module.rb
|
45
60
|
- lib/audited_config.rb
|
46
61
|
- lib/audited_serialize.rb
|
62
|
+
- lib/generators/audited/templates/locale.rb.tt
|
63
|
+
- lib/generators/audited/translations_generator.rb
|
47
64
|
homepage:
|
48
65
|
licenses:
|
49
66
|
- MIT
|