ree_lib 1.0.98 → 1.0.99

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: 003ff6b57d8d5cee946819718f3ee0e374ecd658e7b36f396d675c0cb7ff65ad
4
- data.tar.gz: 61b4a4b961971cb19d8747eddee79142faa8134b1d2ab10cfb11daec9dd609f1
3
+ metadata.gz: c38ef2b4a8178ef5e2f9121bc05c4758e73a441878ca88191b7c14da82f204ed
4
+ data.tar.gz: 67f4d77cbe85db2de4cc2bd939444166d1a32d568fe9ec2ab164f976c35a079d
5
5
  SHA512:
6
- metadata.gz: 96069d7ff2c87d9ebcb41e06750e24b8b0131d3e2c8dca411e6c9893a6b932fd22951d7faef7f9dd591d2ffac23595c83281c3367843c3fd049583bc57ea2ad3
7
- data.tar.gz: f98b9d6ad3784546f1351ee6db2954732f14020c2905d0dc15bf88c68bd6ba851a9a0560407eaf32f80ca58a52c1785418da0e402598755c94466dfddcad973d
6
+ metadata.gz: b579b5d1208625e01e8dc5fcfc354e5a18399bb8121339f4ffda0d049371e0118c60185a6ca974b92cac5a0f4910666d3cec163e85f4d464f39ff300f03295ea
7
+ data.tar.gz: 5667a2a347f98ac1dd903dd63d08a78f688c93419ac3661ab0edd0bdb355edf27e8d31d4c44a814f0be232ac4b60865b3bd1fb4cd73db99d91a3d924cf7a7a23
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree_lib (1.0.98)
4
+ ree_lib (1.0.99)
5
5
  bigdecimal (~> 3.1.6)
6
6
  binding_of_caller (~> 1.0.0)
7
7
  i18n (~> 1.14.1)
@@ -4,6 +4,7 @@ class ReeMapper::BuildMapperFactory
4
4
  include Ree::FnDSL
5
5
 
6
6
  fn :build_mapper_factory do
7
+ with_caller
7
8
  link 'ree_mapper/mapper', -> { Mapper }
8
9
  link 'ree_mapper/mapper_factory', -> { MapperFactory }
9
10
  link 'ree_mapper/mapper_strategy', -> { MapperStrategy }
@@ -11,7 +12,11 @@ class ReeMapper::BuildMapperFactory
11
12
 
12
13
  contract(ArrayOf[MapperStrategy] => SubclassOf[MapperFactory])
13
14
  def call(strategies:)
15
+ module_name = get_caller.class.to_s.split("::").first
16
+ mod = Object.const_get(module_name)
17
+
14
18
  klass = Class.new(ReeMapper::MapperFactory)
19
+ mod.instance_variable_set(:@mapper_factory, klass)
15
20
 
16
21
  klass.instance_eval {
17
22
  @types = {}
@@ -67,16 +67,7 @@ module ReeMapper
67
67
  factory = mod.instance_variable_get(:@mapper_factory)
68
68
  return factory if factory
69
69
 
70
- if !mod.instance_variable_get(:@mapper_semaphore)
71
- mod.instance_variable_set(:@mapper_semaphore, Mutex.new)
72
- end
73
-
74
- mod.instance_variable_get(:@mapper_semaphore).synchronize do
75
- factory = self.build_mapper_factory(mod)
76
- mod.instance_variable_set(:@mapper_factory, factory)
77
- end
78
-
79
- factory
70
+ self.build_mapper_factory(mod)
80
71
  end
81
72
 
82
73
  private
@@ -55,10 +55,10 @@ RSpec.describe ReeMapper::DSL do
55
55
  )
56
56
 
57
57
  expect(result).to eq({
58
- id: 1,
59
- title: 'Product',
60
- creator: {
61
- id: 1,
58
+ id: 1,
59
+ title: 'Product',
60
+ creator: {
61
+ id: 1,
62
62
  name: 'John',
63
63
  created_by: {
64
64
  id: 2,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReeLib
4
- VERSION = "1.0.98"
4
+ VERSION = "1.0.99"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ree_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.98
4
+ version: 1.0.99
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruslan Gatiyatov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-30 00:00:00.000000000 Z
11
+ date: 2024-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ree