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: 674018c4f4ae3d99a8145f09e40ffd6f041c1563c39a4ad4db0b3e5156f4dd3b
4
- data.tar.gz: abd4c07d32c36415c09eddabb5466bed11cd66ba4f751fbad97901d65333971c
3
+ metadata.gz: 9831becf62c15330c967bfb39d7de664d35f927399d49d990588c5e84ae5db3c
4
+ data.tar.gz: db7ef7657110c4c0af5460c4d9a548e72caea9eaefd56c717b35de623630b7fe
5
5
  SHA512:
6
- metadata.gz: 168b02286cccc61fe5442bba115491caec73c75730d04b0309fc55d72d5ed7504d61844dfb5ac38952da083b494a35eaae06905deffa54a71fd9c796e99b3e61
7
- data.tar.gz: ba83be0fc4a795adead2c7f8b918c9d2cf689f434070d0458c841a5dca40905cf8444c9fa296ed434ce63f8c7d31439809c79c1734e82e20948c28e152d171af
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("audited.actions.#{action}")
35
- entity = I18n.t("audited.auditable_types.#{auditable_type}")
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
@@ -0,0 +1,8 @@
1
+ ru:
2
+ audited_serialize:
3
+ actions:
4
+ actions:
5
+ create: "Создание"
6
+ restore: "Восстановление"
7
+ update: "Изменение"
8
+ destroy: "Удаление"
@@ -1,5 +1,7 @@
1
1
  require 'audited_config'
2
2
  require 'audited/audit_extensions'
3
3
 
4
+ I18n.load_path << File.expand_path('audited/locale/ru.yml', __dir__)
5
+
4
6
  module AuditedSerialize
5
7
  end
@@ -0,0 +1,7 @@
1
+ ru:
2
+ audited_serialize:
3
+ auditable_types:
4
+ # в ед. числе, в родительном падеже c маленькой буквы
5
+ <%- models.each do |model| -%>
6
+ <%= model %>: ""
7
+ <%- end -%>
@@ -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.2
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-03-13 00:00:00.000000000 Z
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