audited-serialize 1.0.1 → 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: c13c23cc79d29cf37a1c663634909b2f699bb38a7e69722d0d68c71159d01d96
4
- data.tar.gz: a65ad64ea718d380b56711155a13dc2bb7f85fb65143ef52079ae584816960a8
3
+ metadata.gz: 9831becf62c15330c967bfb39d7de664d35f927399d49d990588c5e84ae5db3c
4
+ data.tar.gz: db7ef7657110c4c0af5460c4d9a548e72caea9eaefd56c717b35de623630b7fe
5
5
  SHA512:
6
- metadata.gz: c24d1457e9cf4f2103d38ac8f37bde5799b13bc812cea1a3cded11f5743e8b728761ab267bc6578de42ea21c60e890305f35fe7bdf8dca11df9bc5e507fc0e5f
7
- data.tar.gz: 9eacbfb7355928d94a0c948d7063fe5d50d2ccb8f695b173b5718a97a3648b85aa49b7f10d8c9ecfc8b6d082520c52ca09877c89684d0980ede7e02d6dc8f2ab
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,11 +31,21 @@ 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
39
39
 
40
40
  end
41
+
42
+ @ignored_attributes = %w[
43
+ lock_version
44
+ created_at
45
+ updated_at
46
+ created_on
47
+ updated_on
48
+ deleted_at
49
+ ]
50
+
41
51
  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.1
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