ree_lib 1.0.97 → 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: 0abde0387434e00249a069e3fbd94cb6f89eaa716690d1b5f8489c076b501f49
4
- data.tar.gz: '0383a1aab0ad09f72cb303571bd64eeb98f166e41e5d9822a0873d4264c814f6'
3
+ metadata.gz: c38ef2b4a8178ef5e2f9121bc05c4758e73a441878ca88191b7c14da82f204ed
4
+ data.tar.gz: 67f4d77cbe85db2de4cc2bd939444166d1a32d568fe9ec2ab164f976c35a079d
5
5
  SHA512:
6
- metadata.gz: 7a1a2fe4c5fdf601ad4e627f8fefd6aa7965014406e698fa8861f176bbe960f5e2b53ee63e73459aa0ff982ab02ba8260f34de07c54e7e218ba096e4e30b3d6d
7
- data.tar.gz: ea904c3aa28ad01cd38ff57053700eccbe543f056fbcc8540081deffb4eee0b73d71e53119b253dcfc9e00cfaba1972a54f05c74fe58a84f4a055b9ba405e174
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.97)
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,17 +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
- factory = self.build_mapper_factory(mod)
75
-
76
- mod.instance_variable_get(:@mapper_semaphore).synchronize do
77
- mod.instance_variable_set(:@mapper_factory, factory)
78
- end
79
-
80
- factory
70
+ self.build_mapper_factory(mod)
81
71
  end
82
72
 
83
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.97"
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.97
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