ree_lib 1.0.101 → 1.0.102
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ree_lib/packages/ree_dao/Package.schema.json +7 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/agg_contract_for.rb +24 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/agg_contract_for.schema.json +28 -0
- data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/load_agg/agg_spec.rb +3 -1
- data/lib/ree_lib/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 610961c832fe41c44de5956cddfdd9497c729af2446e44bcd3bcddacf68cf0bd
|
4
|
+
data.tar.gz: 31095b276ff9541504867a55ebd5d1edcd2bce13d60cd7c994b734863a14479d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44b5c42d66744b6e36c9c127162e846d91b0e5fe705e893fdeb0a45038f6e1777949ecf2b0d778c23db4592cd5f221b2d772ac2ab624e45f1de4fcc2d745f899
|
7
|
+
data.tar.gz: f7f437b8324816fdc02639570e64d1425ffeea53d71e8761178633b8826035062baf78ef891c4b96da96a380f2d2a9e92522ad13a800d10b112b165cc7419cf7
|
data/Gemfile.lock
CHANGED
@@ -40,6 +40,13 @@
|
|
40
40
|
"fn"
|
41
41
|
]
|
42
42
|
},
|
43
|
+
{
|
44
|
+
"name": "agg_contract_for",
|
45
|
+
"schema": "packages/ree_dao/schemas/ree_dao/functions/agg_contract_for.schema.json",
|
46
|
+
"tags": [
|
47
|
+
"fn"
|
48
|
+
]
|
49
|
+
},
|
43
50
|
{
|
44
51
|
"name": "build_connection",
|
45
52
|
"schema": "packages/ree_dao/schemas/ree_dao/functions/build_connection.schema.json",
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeDao::AggContractFor
|
4
|
+
include Ree::FnDSL
|
5
|
+
|
6
|
+
fn :agg_contract_for do
|
7
|
+
target :class
|
8
|
+
with_caller
|
9
|
+
end
|
10
|
+
|
11
|
+
contract(Any => nil)
|
12
|
+
def call(klass)
|
13
|
+
get_caller.contract(
|
14
|
+
Or[Sequel::Dataset, ArrayOf[Integer], Integer, ArrayOf[klass]],
|
15
|
+
Ksplat[
|
16
|
+
only?: ArrayOf[Symbol],
|
17
|
+
except?: ArrayOf[Symbol],
|
18
|
+
RestKeys => Any
|
19
|
+
] => ArrayOf[klass]
|
20
|
+
)
|
21
|
+
|
22
|
+
nil
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"schema_version": "1.1",
|
4
|
+
"name": "agg_contract_for",
|
5
|
+
"path": "packages/ree_dao/package/ree_dao/functions/agg_contract_for.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeDao::AggContractFor",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "",
|
12
|
+
"throws": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"return": "Any",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "klass",
|
19
|
+
"arg_type": "req",
|
20
|
+
"type": "Any"
|
21
|
+
}
|
22
|
+
]
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"links": [
|
26
|
+
|
27
|
+
]
|
28
|
+
}
|
@@ -87,7 +87,7 @@ RSpec.describe :agg do
|
|
87
87
|
include ReeDao::AggregateDSL
|
88
88
|
|
89
89
|
aggregate :agg_users do
|
90
|
-
link :users, from: :ree_dao_agg_test
|
90
|
+
link :users, from: :ree_dao_agg_test, import: -> { User }
|
91
91
|
link :organizations_dao, from: :ree_dao_agg_test
|
92
92
|
link :user_passports, from: :ree_dao_agg_test
|
93
93
|
link :books, from: :ree_dao_agg_test
|
@@ -96,8 +96,10 @@ RSpec.describe :agg do
|
|
96
96
|
link :reviews, from: :ree_dao_agg_test
|
97
97
|
link :review_authors, from: :ree_dao_agg_test
|
98
98
|
link :agg, from: :ree_dao
|
99
|
+
link :agg_contract_for, from: :ree_dao
|
99
100
|
end
|
100
101
|
|
102
|
+
agg_contract_for User
|
101
103
|
def call(ids_or_scope, **opts)
|
102
104
|
agg(users, ids_or_scope, **opts) do |users_list|
|
103
105
|
belongs_to :organization
|
data/lib/ree_lib/version.rb
CHANGED
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.
|
4
|
+
version: 1.0.102
|
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-
|
11
|
+
date: 2024-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ree
|
@@ -331,6 +331,7 @@ files:
|
|
331
331
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb
|
332
332
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/dsl.rb
|
333
333
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/agg.rb
|
334
|
+
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/agg_contract_for.rb
|
334
335
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_connection.rb
|
335
336
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_dao.rb
|
336
337
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_pg_connection.rb
|
@@ -343,6 +344,7 @@ files:
|
|
343
344
|
- lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_jsonb.rb
|
344
345
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/connections.schema.json
|
345
346
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/agg.schema.json
|
347
|
+
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/agg_contract_for.schema.json
|
346
348
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_connection.schema.json
|
347
349
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_dao.schema.json
|
348
350
|
- lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_pg_connection.schema.json
|