iron_trail 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/iron_trail/current.rb +27 -0
- data/lib/iron_trail/query_transformer.rb +1 -1
- data/lib/iron_trail/version.rb +1 -1
- data/lib/iron_trail.rb +3 -11
- metadata +3 -17
- data/lib/iron_trail/metadata_store.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eddde7b02bdbba2a0c1aa1c19ee3b94ec7b072b9997efbbe448ca08df57b259a
|
4
|
+
data.tar.gz: aef0e076c736ce71b549ce25e92a5e2c4787c98a511ac4cd99c9378947ee26eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c44cfbb096061ab84e56d0185fd8f70cd499e8be74719dbbbce8e2c9dd19b87280a7781ab40efde0b3cd982ae9bfd3b789701fd4763d334d8f839fbfd199671
|
7
|
+
data.tar.gz: b63a94044f453db750308883742d359871dc5598df6c83d6be91731d82c0087d29f66955aa09f57131611f38efce48c8c8e940ab7ea0b3a295017e4ed9c98222
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module IronTrail
|
4
|
+
class Current < ActiveSupport::CurrentAttributes
|
5
|
+
attribute :metadata
|
6
|
+
|
7
|
+
def self.store_metadata(key, value)
|
8
|
+
self.metadata ||= {}
|
9
|
+
self.metadata[key] = value
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.merge_metadata(keys, merge_hash)
|
13
|
+
self.metadata ||= {}
|
14
|
+
base = self.metadata
|
15
|
+
keys.each do |key|
|
16
|
+
if base.key?(key)
|
17
|
+
base = base[key]
|
18
|
+
else
|
19
|
+
h = {}
|
20
|
+
base[key] = h
|
21
|
+
base = h
|
22
|
+
end
|
23
|
+
end
|
24
|
+
base.merge!(merge_hash)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -18,7 +18,7 @@ module IronTrail
|
|
18
18
|
|
19
19
|
def create_query_transformer_proc
|
20
20
|
proc do |query, adapter|
|
21
|
-
current_metadata = IronTrail.
|
21
|
+
current_metadata = IronTrail::Current.metadata
|
22
22
|
next query unless adapter.write_query?(query) && (current_metadata.is_a?(Hash) && !current_metadata.empty?)
|
23
23
|
|
24
24
|
metadata = JSON.dump(current_metadata)
|
data/lib/iron_trail/version.rb
CHANGED
data/lib/iron_trail.rb
CHANGED
@@ -3,14 +3,13 @@
|
|
3
3
|
require 'singleton'
|
4
4
|
require 'json'
|
5
5
|
require 'forwardable'
|
6
|
-
require 'request_store'
|
7
6
|
|
8
7
|
require 'iron_trail/version'
|
9
8
|
require 'iron_trail/config'
|
10
9
|
require 'iron_trail/db_functions'
|
11
10
|
require 'iron_trail/migration'
|
12
11
|
|
13
|
-
require 'iron_trail/
|
12
|
+
require 'iron_trail/current'
|
14
13
|
require 'iron_trail/query_transformer'
|
15
14
|
|
16
15
|
require 'iron_trail/association'
|
@@ -73,16 +72,9 @@ module IronTrail
|
|
73
72
|
@query_transformer.setup_active_record
|
74
73
|
end
|
75
74
|
|
76
|
-
|
77
|
-
@store_instance ||= MetadataStore.new
|
78
|
-
end
|
79
|
-
|
80
|
-
def_delegators :store_instance,
|
75
|
+
def_delegators ::IronTrail::Current,
|
81
76
|
:store_metadata,
|
82
|
-
:merge_metadata
|
83
|
-
:current_metadata
|
84
|
-
|
85
|
-
|
77
|
+
:merge_metadata
|
86
78
|
end
|
87
79
|
end
|
88
80
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_trail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- André Diego Piske
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-02-
|
10
|
+
date: 2025-02-12 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rails
|
@@ -23,20 +23,6 @@ dependencies:
|
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
25
|
version: '7.1'
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: request_store
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
29
|
-
requirements:
|
30
|
-
- - "~>"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '1.5'
|
33
|
-
type: :runtime
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '1.5'
|
40
26
|
- !ruby/object:Gem::Dependency
|
41
27
|
name: appraisal
|
42
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,9 +122,9 @@ files:
|
|
136
122
|
- lib/iron_trail/change_model_concern.rb
|
137
123
|
- lib/iron_trail/collection_proxy_mixin.rb
|
138
124
|
- lib/iron_trail/config.rb
|
125
|
+
- lib/iron_trail/current.rb
|
139
126
|
- lib/iron_trail/db_functions.rb
|
140
127
|
- lib/iron_trail/irontrail_log_row_function.sql
|
141
|
-
- lib/iron_trail/metadata_store.rb
|
142
128
|
- lib/iron_trail/migration.rb
|
143
129
|
- lib/iron_trail/model.rb
|
144
130
|
- lib/iron_trail/query_transformer.rb
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module IronTrail
|
4
|
-
class MetadataStore
|
5
|
-
def store_metadata(key, value)
|
6
|
-
RequestStore.store[:irontrail_metadata] ||= {}
|
7
|
-
RequestStore.store[:irontrail_metadata][key] = value
|
8
|
-
end
|
9
|
-
|
10
|
-
def merge_metadata(keys, merge_hash)
|
11
|
-
RequestStore.store[:irontrail_metadata] ||= {}
|
12
|
-
base = RequestStore.store[:irontrail_metadata]
|
13
|
-
keys.each do |key|
|
14
|
-
if base.key?(key)
|
15
|
-
base = base[key]
|
16
|
-
else
|
17
|
-
h = {}
|
18
|
-
base[key] = h
|
19
|
-
base = h
|
20
|
-
end
|
21
|
-
end
|
22
|
-
base.merge!(merge_hash)
|
23
|
-
end
|
24
|
-
|
25
|
-
def current_metadata
|
26
|
-
RequestStore.store[:irontrail_metadata]
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|