ree_lib 1.3.11 → 1.3.12
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: e10f8d9ba3558f200f081f325d2a7f10b81696459c8fbdd9054fd4e0b72c72ed
|
|
4
|
+
data.tar.gz: fc2f2bba979d98082ed296caeeb8823cf1cef3201cbda6244adb131e7ccc5db1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4cbd59039f6e3b238db9c88763e75f753a567c13edd080eda2e6fafbed838e3c61a71d9ee40af35b7042f58cee315f5aa3c7cdf8be8b2e7ae339f9ed7883906d
|
|
7
|
+
data.tar.gz: e0dddd85f84fec535514ebbec51e78425511b32a8ee877b65fdf4ac31f513717f9c12ab80d4772d7649ad1856ad625bf1d967e9c56d78823dc1435196b438c85
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [1.3.12] - 2026-09-02
|
|
4
|
+
|
|
5
|
+
- `ree_audit`: `annotate_audit` fn — the entry point product code uses to attach
|
|
6
|
+
facts to the current audited call. Declared `freeze false` so a host
|
|
7
|
+
application can stub it in its own specs.
|
|
8
|
+
|
|
3
9
|
## [1.3.11] - 2026-09-02
|
|
4
10
|
|
|
5
11
|
- New `ree_audit` package: an opt-in trail of audited action calls (event,
|
data/Gemfile.lock
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Точка входа для продуктового кода: прикрепить к текущему аудируемому вызову
|
|
4
|
+
# то, что известно только внутри — какое право проверено, к чьим данным и к
|
|
5
|
+
# какому объекту обратились.
|
|
6
|
+
#
|
|
7
|
+
# Почему fn, а не голая константа ReeAudit.annotate: одного `depends_on
|
|
8
|
+
# :ree_audit` хватило бы, чтобы пакет загрузился, но проверка объявленной
|
|
9
|
+
# зависимости (check_package_dependency_added) срабатывает только для
|
|
10
|
+
# `link`/`import`. Голая константа проходит мимо неё — и удаление `depends_on`
|
|
11
|
+
# как «неиспользуемого» уронило бы приложение NameError'ом уже в проде.
|
|
12
|
+
class ReeAudit::AnnotateAudit
|
|
13
|
+
include Ree::FnDSL
|
|
14
|
+
|
|
15
|
+
fn :annotate_audit do
|
|
16
|
+
# fn из общего пакета иначе не подменить в спеках приложения
|
|
17
|
+
freeze false
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
doc("Прикрепляет факты приложения к текущему событию аудита. nil — если аудит выключен или вызов пришёл не из аудируемого маршрута.")
|
|
21
|
+
contract(Ksplat[RestKeys => Any] => Nilor[Hash])
|
|
22
|
+
def call(**attrs)
|
|
23
|
+
ReeAudit.annotate(**attrs)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
package_require('ree_audit/functions/annotate_audit')
|
|
4
|
+
package_require('ree_audit/event')
|
|
5
|
+
|
|
6
|
+
RSpec.describe :annotate_audit do
|
|
7
|
+
link :annotate_audit, from: :ree_audit
|
|
8
|
+
|
|
9
|
+
before { ReeAudit::Context.clear }
|
|
10
|
+
after { ReeAudit::Context.clear }
|
|
11
|
+
|
|
12
|
+
it "returns nil outside an audited call" do
|
|
13
|
+
expect(annotate_audit(permission: :access_uploads)).to be_nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "merges into the current event" do
|
|
17
|
+
event = ReeAudit::Event.build(action_name: :some_query)
|
|
18
|
+
ReeAudit::Context.push(event)
|
|
19
|
+
|
|
20
|
+
annotate_audit(permission: :access_uploads)
|
|
21
|
+
annotate_audit(subject: {type: :upload, id: "abc"})
|
|
22
|
+
|
|
23
|
+
expect(event.annotations).to eq({
|
|
24
|
+
permission: :access_uploads,
|
|
25
|
+
subject: {type: :upload, id: "abc"}
|
|
26
|
+
})
|
|
27
|
+
end
|
|
28
|
+
end
|
data/lib/ree_lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ree_lib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ruslan Gatiyatov
|
|
@@ -282,12 +282,14 @@ files:
|
|
|
282
282
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/config.rb
|
|
283
283
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb
|
|
284
284
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/event.rb
|
|
285
|
+
- lib/ree_lib/packages/ree_audit/package/ree_audit/functions/annotate_audit.rb
|
|
285
286
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/functions/filter_params.rb
|
|
286
287
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/sinks/logger_sink.rb
|
|
287
288
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/sinks/null_sink.rb
|
|
288
289
|
- lib/ree_lib/packages/ree_audit/package/ree_audit/sinks/sink.rb
|
|
289
290
|
- lib/ree_lib/packages/ree_audit/spec/ree_audit/beans/audit_spec.rb
|
|
290
291
|
- lib/ree_lib/packages/ree_audit/spec/ree_audit/context_spec.rb
|
|
292
|
+
- lib/ree_lib/packages/ree_audit/spec/ree_audit/functions/annotate_audit_spec.rb
|
|
291
293
|
- lib/ree_lib/packages/ree_audit/spec/ree_audit/functions/filter_params_spec.rb
|
|
292
294
|
- lib/ree_lib/packages/ree_audit/spec/spec_helper.rb
|
|
293
295
|
- lib/ree_lib/packages/ree_dao/.gitignore
|