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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f67019754098a19e12ca5bf753f081e219f6586e3624ef1baf6369e70a9e0d72
4
- data.tar.gz: e8acc199e3135380e404662bf6a4e5622efe18a4c78fac2d9f70a24f02ee0e7a
3
+ metadata.gz: eddde7b02bdbba2a0c1aa1c19ee3b94ec7b072b9997efbbe448ca08df57b259a
4
+ data.tar.gz: aef0e076c736ce71b549ce25e92a5e2c4787c98a511ac4cd99c9378947ee26eb
5
5
  SHA512:
6
- metadata.gz: 925b5f28134a23ab70b10880fbfb40a7b3f7d431d287f5f5b000cdf7c11f07ca743932a11320a59e6c3fd5f1dda874e305f1d6d2457a8b451f23605433bec7b1
7
- data.tar.gz: 6c074aadae308632cabbd37edb01f6c77607c4dabcac80cfbcf505a4793aace2b4a96a2976cba9a03dc2de40023f5bba948e517694508411a8d4bb9fab5426d5
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.current_metadata
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)
@@ -1,5 +1,5 @@
1
1
  # frozen_literal_string: true
2
2
 
3
3
  module IronTrail
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
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/metadata_store'
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
- def store_instance
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.2
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-11 00:00:00.000000000 Z
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