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: 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