ree_lib 1.0.87 → 1.0.89

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +22 -22
  3. data/lib/ree_lib/packages/ree_actions/package/ree_actions/dsl.rb +0 -12
  4. data/lib/ree_lib/packages/ree_actions/spec/ree_actions/dsl_spec.rb +0 -90
  5. data/lib/ree_lib/packages/ree_dao/Package.schema.json +0 -28
  6. data/lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb +29 -21
  7. data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_pg_connection_spec.rb +10 -3
  8. data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_sqlite_connection_spec.rb +0 -37
  9. data/lib/ree_lib/packages/ree_http/package/ree_http/functions/execute_request.rb +27 -20
  10. data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/execute_request.schema.json +8 -0
  11. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_delete_spec.rb +10 -8
  12. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_get_spec.rb +79 -18
  13. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_options_spec.rb +6 -5
  14. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_patch_spec.rb +8 -4
  15. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_post_spec.rb +5 -10
  16. data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_put_spec.rb +5 -3
  17. data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/t_spec.rb +4 -4
  18. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper.rb +22 -6
  19. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/benchmarks/mapper_benchmark_spec.rb +31 -0
  20. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/bool_spec.rb +8 -8
  21. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/date_spec.rb +10 -10
  22. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/date_time_spec.rb +16 -16
  23. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/float_spec.rb +13 -13
  24. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/hash_spec.rb +2 -2
  25. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/integer_spec.rb +14 -14
  26. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/rational_spec.rb +12 -12
  27. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/string_spec.rb +12 -12
  28. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/time_spec.rb +16 -16
  29. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/type_options_spec.rb +4 -4
  30. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/wrappers/array_spec.rb +6 -6
  31. data/lib/ree_lib/version.rb +1 -1
  32. metadata +17 -24
  33. data/lib/ree_lib/packages/ree_dao/package/ree_dao/beans/dao_cache.rb +0 -81
  34. data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/drop_cache.rb +0 -15
  35. data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/extract_changes.rb +0 -26
  36. data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/init_cache.rb +0 -15
  37. data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/dao_cache.schema.json +0 -22
  38. data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/drop_cache.schema.json +0 -31
  39. data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/extract_changes.schema.json +0 -45
  40. data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/init_cache.schema.json +0 -31
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.87
4
+ version: 1.0.89
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-01-18 00:00:00.000000000 Z
11
+ date: 2024-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ree
@@ -44,56 +44,56 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.18.0
47
+ version: 2.22.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.18.0
54
+ version: 2.22.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: oj
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.13.17
61
+ version: 3.16.3
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 3.13.17
68
+ version: 3.16.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: i18n
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.12.0
75
+ version: 1.14.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.12.0
82
+ version: 1.14.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: sequel
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 5.58.0
89
+ version: 5.76.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 5.58.0
96
+ version: 5.76.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: binding_of_caller
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 3.58.0
159
+ version: 3.76.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 3.58.0
166
+ version: 3.76.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: sqlite3
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 1.4.1
187
+ version: 1.5.4
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 1.4.1
194
+ version: 1.5.4
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: warden
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +226,14 @@ dependencies:
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: 3.3.1
229
+ version: 3.5.1
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: 3.3.1
236
+ version: 3.5.1
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: faker
239
239
  requirement: !ruby/object:Gem::Requirement
@@ -326,7 +326,6 @@ files:
326
326
  - lib/ree_lib/packages/ree_dao/package/ree_dao/association_methods.rb
327
327
  - lib/ree_lib/packages/ree_dao/package/ree_dao/associations.rb
328
328
  - lib/ree_lib/packages/ree_dao/package/ree_dao/beans/connections.rb
329
- - lib/ree_lib/packages/ree_dao/package/ree_dao/beans/dao_cache.rb
330
329
  - lib/ree_lib/packages/ree_dao/package/ree_dao/contract/dao_dataset_contract.rb
331
330
  - lib/ree_lib/packages/ree_dao/package/ree_dao/contract/entity_contract.rb
332
331
  - lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb
@@ -336,9 +335,6 @@ files:
336
335
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_dao.rb
337
336
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_pg_connection.rb
338
337
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_sqlite_connection.rb
339
- - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/drop_cache.rb
340
- - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/extract_changes.rb
341
- - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/init_cache.rb
342
338
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/one_to_many.rb
343
339
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/one_to_one.rb
344
340
  - lib/ree_lib/packages/ree_dao/package/ree_dao/functions/persist_assoc.rb
@@ -346,15 +342,11 @@ files:
346
342
  - lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_array.rb
347
343
  - lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_jsonb.rb
348
344
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/connections.schema.json
349
- - lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/dao_cache.schema.json
350
345
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/agg.schema.json
351
346
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_connection.schema.json
352
347
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_dao.schema.json
353
348
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_pg_connection.schema.json
354
349
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_sqlite_connection.schema.json
355
- - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/drop_cache.schema.json
356
- - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/extract_changes.schema.json
357
- - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/init_cache.schema.json
358
350
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/one_to_many.schema.json
359
351
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/one_to_one.schema.json
360
352
  - lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/persist_assoc.schema.json
@@ -1050,6 +1042,7 @@ files:
1050
1042
  - lib/ree_lib/packages/ree_mapper/schemas/ree_mapper/functions/build_mapper_factory.schema.json
1051
1043
  - lib/ree_lib/packages/ree_mapper/schemas/ree_mapper/functions/build_mapper_strategy.schema.json
1052
1044
  - lib/ree_lib/packages/ree_mapper/spec/package_schema_spec.rb
1045
+ - lib/ree_lib/packages/ree_mapper/spec/ree_mapper/benchmarks/mapper_benchmark_spec.rb
1053
1046
  - lib/ree_lib/packages/ree_mapper/spec/ree_mapper/dsl/dsl_spec.rb
1054
1047
  - lib/ree_lib/packages/ree_mapper/spec/ree_mapper/functions/build_mapper_factory_spec.rb
1055
1048
  - lib/ree_lib/packages/ree_mapper/spec/ree_mapper/functions/build_mapper_strategy_spec.rb
@@ -1,81 +0,0 @@
1
- class ReeDao::DaoCache
2
- include Ree::BeanDSL
3
-
4
- bean :dao_cache do
5
- link :deep_dup, from: :ree_object
6
-
7
- singleton
8
- after_init :setup
9
- end
10
-
11
- def setup
12
- @threads = {}
13
- end
14
-
15
- def add_thread_cache(thread)
16
- @threads[get_thread_object_id(thread)] ||= {}
17
- end
18
-
19
- def drop_thread_cache(thread)
20
- @threads.delete(get_thread_object_id(thread))
21
- end
22
-
23
- def get(table_name, primary_key)
24
- add_thread_cache(current_thread)
25
- add_table_name(table_name)
26
-
27
- @threads[current_thread_object_id][table_name][primary_key]
28
- end
29
-
30
- def set(table_name, primary_key, data)
31
- add_thread_cache(current_thread)
32
- add_table_name(table_name)
33
- add_primary_key(table_name, primary_key)
34
-
35
- @threads[current_thread_object_id][table_name][primary_key] = deep_dup(data)
36
- end
37
-
38
- private
39
-
40
- def get_thread_object_id(thread)
41
- thread == Thread.main ? thread.object_id : get_parent_thread(thread)
42
- end
43
-
44
- def get_parent_thread(thread)
45
- return thread.object_id if thread == Thread.main
46
-
47
- get_parent_thread(thread.parent)
48
- end
49
-
50
- def current_thread
51
- Thread.current
52
- end
53
-
54
- def current_thread_object_id
55
- get_thread_object_id(current_thread)
56
- end
57
-
58
- def add_table_name(table_name)
59
- current_thr_obj_id = current_thread_object_id
60
-
61
- if !@threads[current_thr_obj_id]
62
- @threads[current_thr_obj_id] ||= {}
63
- end
64
-
65
- @threads[current_thr_obj_id][table_name] ||= {}
66
- end
67
-
68
- def add_primary_key(table_name, primary_key)
69
- current_thr_obj_id = current_thread_object_id
70
-
71
- if !@threads[current_thr_obj_id]
72
- @threads[current_thr_obj_id] ||= {}
73
- end
74
-
75
- if !@threads[current_thr_obj_id][table_name]
76
- @threads[current_thr_obj_id][table_name] ||= {}
77
- end
78
-
79
- @threads[current_thr_obj_id][table_name][primary_key] ||= {}
80
- end
81
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ReeDao::DropCache
4
- include Ree::FnDSL
5
-
6
- fn :drop_cache do
7
- link :dao_cache
8
- end
9
-
10
- contract(None => nil)
11
- def call
12
- dao_cache.drop_thread_cache(Thread.current)
13
- nil
14
- end
15
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ReeDao::ExtractChanges
4
- include Ree::FnDSL
5
-
6
- fn :extract_changes do
7
- link :dao_cache, as: :__ree_dao_cache
8
- end
9
-
10
- contract(Symbol, Any, Hash => Hash)
11
- def call(table_name, primary_key, hash)
12
- cached = __ree_dao_cache.get(table_name, primary_key)
13
- return hash unless cached
14
- changes = {}
15
-
16
- hash.each do |column, value|
17
- previous_column_value = cached[column]
18
-
19
- if cached.has_key?(column) && previous_column_value != value
20
- changes[column] = value
21
- end
22
- end
23
-
24
- changes
25
- end
26
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ReeDao::InitCache
4
- include Ree::FnDSL
5
-
6
- fn :init_cache do
7
- link :dao_cache
8
- end
9
-
10
- contract(None => nil)
11
- def call
12
- dao_cache.add_thread_cache(Thread.current)
13
- nil
14
- end
15
- end
@@ -1,22 +0,0 @@
1
- {
2
- "schema_type": "object",
3
- "schema_version": "1.1",
4
- "name": "dao_cache",
5
- "path": "packages/ree_dao/package/ree_dao/beans/dao_cache.rb",
6
- "mount_as": "object",
7
- "class": "ReeDao::DaoCache",
8
- "factory": null,
9
- "methods": [
10
-
11
- ],
12
- "links": [
13
- {
14
- "target": "deep_dup",
15
- "package_name": "ree_object",
16
- "as": "deep_dup",
17
- "imports": [
18
-
19
- ]
20
- }
21
- ]
22
- }
@@ -1,31 +0,0 @@
1
- {
2
- "schema_type": "object",
3
- "schema_version": "1.1",
4
- "name": "drop_cache",
5
- "path": "packages/ree_dao/package/ree_dao/functions/drop_cache.rb",
6
- "mount_as": "fn",
7
- "class": "ReeDao::DropCache",
8
- "factory": null,
9
- "methods": [
10
- {
11
- "doc": "",
12
- "throws": [
13
-
14
- ],
15
- "return": "Any",
16
- "args": [
17
-
18
- ]
19
- }
20
- ],
21
- "links": [
22
- {
23
- "target": "dao_cache",
24
- "package_name": "ree_dao",
25
- "as": "dao_cache",
26
- "imports": [
27
-
28
- ]
29
- }
30
- ]
31
- }
@@ -1,45 +0,0 @@
1
- {
2
- "schema_type": "object",
3
- "schema_version": "1.1",
4
- "name": "extract_changes",
5
- "path": "packages/ree_dao/package/ree_dao/functions/extract_changes.rb",
6
- "mount_as": "fn",
7
- "class": "ReeDao::ExtractChanges",
8
- "factory": null,
9
- "methods": [
10
- {
11
- "doc": "",
12
- "throws": [
13
-
14
- ],
15
- "return": "Hash",
16
- "args": [
17
- {
18
- "arg": "table_name",
19
- "arg_type": "req",
20
- "type": "Symbol"
21
- },
22
- {
23
- "arg": "primary_key",
24
- "arg_type": "req",
25
- "type": "Any"
26
- },
27
- {
28
- "arg": "hash",
29
- "arg_type": "req",
30
- "type": "Hash"
31
- }
32
- ]
33
- }
34
- ],
35
- "links": [
36
- {
37
- "target": "dao_cache",
38
- "package_name": "ree_dao",
39
- "as": "__ree_dao_cache",
40
- "imports": [
41
-
42
- ]
43
- }
44
- ]
45
- }
@@ -1,31 +0,0 @@
1
- {
2
- "schema_type": "object",
3
- "schema_version": "1.1",
4
- "name": "init_cache",
5
- "path": "packages/ree_dao/package/ree_dao/functions/init_cache.rb",
6
- "mount_as": "fn",
7
- "class": "ReeDao::InitCache",
8
- "factory": null,
9
- "methods": [
10
- {
11
- "doc": "",
12
- "throws": [
13
-
14
- ],
15
- "return": "Any",
16
- "args": [
17
-
18
- ]
19
- }
20
- ],
21
- "links": [
22
- {
23
- "target": "dao_cache",
24
- "package_name": "ree_dao",
25
- "as": "dao_cache",
26
- "imports": [
27
-
28
- ]
29
- }
30
- ]
31
- }