ree_lib 1.0.98 → 1.0.99

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: 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