audited-serialize 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
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
|