familia 2.0.0.pre7 → 2.0.0.pre10
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 +4 -4
- data/.github/workflows/ci.yml +13 -0
- data/.github/workflows/docs.yml +1 -1
- data/.gitignore +9 -9
- data/.rubocop.yml +19 -0
- data/.yardopts +22 -1
- data/CHANGELOG.md +184 -0
- data/CLAUDE.md +8 -5
- data/Gemfile +1 -1
- data/Gemfile.lock +3 -3
- data/README.md +97 -2
- data/changelog.d/README.md +66 -0
- data/changelog.d/fragments/.keep +0 -0
- data/changelog.d/template.md.j2 +29 -0
- data/docs/archive/.gitignore +2 -0
- data/docs/archive/FAMILIA_RELATIONSHIPS.md +210 -0
- data/docs/archive/FAMILIA_TECHNICAL.md +823 -0
- data/docs/archive/FAMILIA_UPDATE.md +226 -0
- data/docs/archive/README.md +67 -0
- data/docs/guides/.gitignore +2 -0
- data/docs/{wiki → guides}/Feature-System-Guide.md +0 -15
- data/docs/{wiki → guides}/Relationships-Guide.md +103 -50
- data/docs/guides/relationships-methods.md +266 -0
- data/examples/relationships_basic.rb +90 -157
- data/familia.gemspec +4 -4
- data/lib/familia/connection.rb +4 -21
- data/lib/familia/features/external_identifiers/external_identifier_field_type.rb +120 -0
- data/lib/familia/features/external_identifiers.rb +111 -0
- data/lib/familia/features/object_identifiers/object_identifier_field_type.rb +91 -0
- data/lib/familia/features/object_identifiers.rb +194 -0
- data/lib/familia/features/relationships/cascading.rb +0 -1
- data/lib/familia/features/relationships/indexing.rb +160 -176
- data/lib/familia/features/relationships/membership.rb +16 -22
- data/lib/familia/features/relationships/querying.rb +7 -12
- data/lib/familia/features/relationships/score_encoding.rb +1 -3
- data/lib/familia/features/relationships/tracking.rb +61 -22
- data/lib/familia/features/relationships.rb +15 -8
- data/lib/familia/features/transient_fields.rb +8 -10
- data/lib/familia/features.rb +16 -13
- data/lib/familia/horreum/core/serialization.rb +2 -5
- data/lib/familia/horreum/subclass/definition.rb +36 -0
- data/lib/familia/horreum.rb +15 -24
- data/lib/familia/version.rb +1 -3
- data/setup.cfg +12 -0
- data/try/core/errors_try.rb +1 -1
- data/try/features/{encrypted_fields_core_try.rb → encrypted_fields/encrypted_fields_core_try.rb} +1 -1
- data/try/features/{encrypted_fields_integration_try.rb → encrypted_fields/encrypted_fields_integration_try.rb} +1 -1
- data/try/features/{encrypted_fields_no_cache_security_try.rb → encrypted_fields/encrypted_fields_no_cache_security_try.rb} +1 -1
- data/try/features/{encrypted_fields_security_try.rb → encrypted_fields/encrypted_fields_security_try.rb} +1 -1
- data/try/features/{expiration_try.rb → expiration/expiration_try.rb} +1 -1
- data/try/features/external_identifiers/external_identifiers_try.rb +203 -0
- data/try/features/object_identifiers/object_identifiers_integration_try.rb +289 -0
- data/try/features/object_identifiers/object_identifiers_try.rb +191 -0
- data/try/features/{quantization_try.rb → quantization/quantization_try.rb} +1 -1
- data/try/features/{categorical_permissions_try.rb → relationships/categorical_permissions_try.rb} +1 -1
- data/try/features/relationships/relationships_api_changes_try.rb +339 -0
- data/try/features/{relationships_edge_cases_try.rb → relationships/relationships_edge_cases_try.rb} +1 -1
- data/try/features/{relationships_performance_minimal_try.rb → relationships/relationships_performance_minimal_try.rb} +1 -1
- data/try/features/{relationships_performance_simple_try.rb → relationships/relationships_performance_simple_try.rb} +1 -1
- data/try/features/{relationships_performance_try.rb → relationships/relationships_performance_try.rb} +1 -1
- data/try/features/{relationships_performance_working_try.rb → relationships/relationships_performance_working_try.rb} +1 -1
- data/try/features/{relationships_try.rb → relationships/relationships_try.rb} +7 -6
- data/try/features/{safe_dump_advanced_try.rb → safe_dump/safe_dump_advanced_try.rb} +1 -1
- data/try/features/{safe_dump_try.rb → safe_dump/safe_dump_try.rb} +1 -1
- data/try/features/{transient_fields_core_try.rb → transient_fields/transient_fields_core_try.rb} +1 -1
- data/try/features/{transient_fields_integration_try.rb → transient_fields/transient_fields_integration_try.rb} +1 -1
- metadata +80 -60
- /data/docs/{wiki → guides}/API-Reference.md +0 -0
- /data/docs/{wiki → guides}/Connection-Pooling-Guide.md +0 -0
- /data/docs/{wiki → guides}/Encrypted-Fields-Overview.md +0 -0
- /data/docs/{wiki → guides}/Expiration-Feature-Guide.md +0 -0
- /data/docs/{wiki → guides}/Features-System-Developer-Guide.md +0 -0
- /data/docs/{wiki → guides}/Field-System-Guide.md +0 -0
- /data/docs/{wiki → guides}/Home.md +0 -0
- /data/docs/{wiki → guides}/Implementation-Guide.md +0 -0
- /data/docs/{wiki → guides}/Quantization-Feature-Guide.md +0 -0
- /data/docs/{wiki → guides}/Security-Model.md +0 -0
- /data/docs/{wiki → guides}/Transient-Fields-Guide.md +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/aad_protection_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/concealed_string_core_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/context_isolation_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/error_conditions_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/fresh_key_derivation_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/fresh_key_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/key_rotation_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/memory_security_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/missing_current_key_version_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/nonce_uniqueness_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/secure_by_default_behavior_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/thread_safety_try.rb +0 -0
- /data/try/features/{encryption_fields → encrypted_fields}/universal_serialization_safety_try.rb +0 -0
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: familia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.pre10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -13,58 +13,58 @@ dependencies:
|
|
13
13
|
name: benchmark
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - "
|
16
|
+
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '0'
|
18
|
+
version: '0.1'
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
|
-
- - "
|
23
|
+
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '0'
|
25
|
+
version: '0.1'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: connection_pool
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- - "
|
30
|
+
- - "~>"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '2.4'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '2.4'
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: csv
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '3.1'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '3.1'
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: logger
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - "
|
58
|
+
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '1.6'
|
61
61
|
type: :runtime
|
62
62
|
prerelease: false
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '1.6'
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
69
|
name: redis
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,27 +129,38 @@ files:
|
|
129
129
|
- ".rubocop.yml"
|
130
130
|
- ".rubocop_todo.yml"
|
131
131
|
- ".yardopts"
|
132
|
+
- CHANGELOG.md
|
132
133
|
- CLAUDE.md
|
133
134
|
- Gemfile
|
134
135
|
- Gemfile.lock
|
135
136
|
- LICENSE.txt
|
136
137
|
- README.md
|
137
138
|
- bin/irb
|
139
|
+
- changelog.d/README.md
|
140
|
+
- changelog.d/fragments/.keep
|
141
|
+
- changelog.d/template.md.j2
|
142
|
+
- docs/archive/.gitignore
|
143
|
+
- docs/archive/FAMILIA_RELATIONSHIPS.md
|
144
|
+
- docs/archive/FAMILIA_TECHNICAL.md
|
145
|
+
- docs/archive/FAMILIA_UPDATE.md
|
146
|
+
- docs/archive/README.md
|
138
147
|
- docs/connection_pooling.md
|
148
|
+
- docs/guides/.gitignore
|
149
|
+
- docs/guides/API-Reference.md
|
150
|
+
- docs/guides/Connection-Pooling-Guide.md
|
151
|
+
- docs/guides/Encrypted-Fields-Overview.md
|
152
|
+
- docs/guides/Expiration-Feature-Guide.md
|
153
|
+
- docs/guides/Feature-System-Guide.md
|
154
|
+
- docs/guides/Features-System-Developer-Guide.md
|
155
|
+
- docs/guides/Field-System-Guide.md
|
156
|
+
- docs/guides/Home.md
|
157
|
+
- docs/guides/Implementation-Guide.md
|
158
|
+
- docs/guides/Quantization-Feature-Guide.md
|
159
|
+
- docs/guides/Relationships-Guide.md
|
160
|
+
- docs/guides/Security-Model.md
|
161
|
+
- docs/guides/Transient-Fields-Guide.md
|
162
|
+
- docs/guides/relationships-methods.md
|
139
163
|
- docs/overview.md
|
140
|
-
- docs/wiki/API-Reference.md
|
141
|
-
- docs/wiki/Connection-Pooling-Guide.md
|
142
|
-
- docs/wiki/Encrypted-Fields-Overview.md
|
143
|
-
- docs/wiki/Expiration-Feature-Guide.md
|
144
|
-
- docs/wiki/Feature-System-Guide.md
|
145
|
-
- docs/wiki/Features-System-Developer-Guide.md
|
146
|
-
- docs/wiki/Field-System-Guide.md
|
147
|
-
- docs/wiki/Home.md
|
148
|
-
- docs/wiki/Implementation-Guide.md
|
149
|
-
- docs/wiki/Quantization-Feature-Guide.md
|
150
|
-
- docs/wiki/Relationships-Guide.md
|
151
|
-
- docs/wiki/Security-Model.md
|
152
|
-
- docs/wiki/Transient-Fields-Guide.md
|
153
164
|
- examples/bit_encoding_integration.rb
|
154
165
|
- examples/redis_command_validation_example.rb
|
155
166
|
- examples/relationships_basic.rb
|
@@ -183,6 +194,10 @@ files:
|
|
183
194
|
- lib/familia/features/encrypted_fields/concealed_string.rb
|
184
195
|
- lib/familia/features/encrypted_fields/encrypted_field_type.rb
|
185
196
|
- lib/familia/features/expiration.rb
|
197
|
+
- lib/familia/features/external_identifiers.rb
|
198
|
+
- lib/familia/features/external_identifiers/external_identifier_field_type.rb
|
199
|
+
- lib/familia/features/object_identifiers.rb
|
200
|
+
- lib/familia/features/object_identifiers/object_identifier_field_type.rb
|
186
201
|
- lib/familia/features/quantization.rb
|
187
202
|
- lib/familia/features/relationships.rb
|
188
203
|
- lib/familia/features/relationships/cascading.rb
|
@@ -222,6 +237,7 @@ files:
|
|
222
237
|
- lib/familia/validation/validator.rb
|
223
238
|
- lib/familia/version.rb
|
224
239
|
- lib/middleware/database_middleware.rb
|
240
|
+
- setup.cfg
|
225
241
|
- try/configuration/scenarios_try.rb
|
226
242
|
- try/core/base_enhancements_try.rb
|
227
243
|
- try/core/connection_try.rb
|
@@ -287,42 +303,46 @@ files:
|
|
287
303
|
- try/encryption/providers/xchacha20_poly1305_provider_try.rb
|
288
304
|
- try/encryption/roundtrip_validation_try.rb
|
289
305
|
- try/encryption/secure_memory_handling_try.rb
|
290
|
-
- try/features/
|
291
|
-
- try/features/
|
292
|
-
- try/features/
|
293
|
-
- try/features/
|
294
|
-
- try/features/
|
295
|
-
- try/features/
|
296
|
-
- try/features/
|
297
|
-
- try/features/
|
298
|
-
- try/features/
|
299
|
-
- try/features/
|
300
|
-
- try/features/
|
301
|
-
- try/features/
|
302
|
-
- try/features/
|
303
|
-
- try/features/
|
304
|
-
- try/features/
|
305
|
-
- try/features/
|
306
|
-
- try/features/
|
307
|
-
- try/features/
|
308
|
-
- try/features/
|
306
|
+
- try/features/encrypted_fields/aad_protection_try.rb
|
307
|
+
- try/features/encrypted_fields/concealed_string_core_try.rb
|
308
|
+
- try/features/encrypted_fields/context_isolation_try.rb
|
309
|
+
- try/features/encrypted_fields/encrypted_fields_core_try.rb
|
310
|
+
- try/features/encrypted_fields/encrypted_fields_integration_try.rb
|
311
|
+
- try/features/encrypted_fields/encrypted_fields_no_cache_security_try.rb
|
312
|
+
- try/features/encrypted_fields/encrypted_fields_security_try.rb
|
313
|
+
- try/features/encrypted_fields/error_conditions_try.rb
|
314
|
+
- try/features/encrypted_fields/fresh_key_derivation_try.rb
|
315
|
+
- try/features/encrypted_fields/fresh_key_try.rb
|
316
|
+
- try/features/encrypted_fields/key_rotation_try.rb
|
317
|
+
- try/features/encrypted_fields/memory_security_try.rb
|
318
|
+
- try/features/encrypted_fields/missing_current_key_version_try.rb
|
319
|
+
- try/features/encrypted_fields/nonce_uniqueness_try.rb
|
320
|
+
- try/features/encrypted_fields/secure_by_default_behavior_try.rb
|
321
|
+
- try/features/encrypted_fields/thread_safety_try.rb
|
322
|
+
- try/features/encrypted_fields/universal_serialization_safety_try.rb
|
323
|
+
- try/features/expiration/expiration_try.rb
|
324
|
+
- try/features/external_identifiers/external_identifiers_try.rb
|
309
325
|
- try/features/feature_dependencies_try.rb
|
310
|
-
- try/features/
|
326
|
+
- try/features/object_identifiers/object_identifiers_integration_try.rb
|
327
|
+
- try/features/object_identifiers/object_identifiers_try.rb
|
328
|
+
- try/features/quantization/quantization_try.rb
|
311
329
|
- try/features/real_feature_integration_try.rb
|
312
|
-
- try/features/
|
313
|
-
- try/features/
|
314
|
-
- try/features/
|
315
|
-
- try/features/
|
316
|
-
- try/features/
|
317
|
-
- try/features/
|
318
|
-
- try/features/
|
319
|
-
- try/features/
|
330
|
+
- try/features/relationships/categorical_permissions_try.rb
|
331
|
+
- try/features/relationships/relationships_api_changes_try.rb
|
332
|
+
- try/features/relationships/relationships_edge_cases_try.rb
|
333
|
+
- try/features/relationships/relationships_performance_minimal_try.rb
|
334
|
+
- try/features/relationships/relationships_performance_simple_try.rb
|
335
|
+
- try/features/relationships/relationships_performance_try.rb
|
336
|
+
- try/features/relationships/relationships_performance_working_try.rb
|
337
|
+
- try/features/relationships/relationships_try.rb
|
338
|
+
- try/features/safe_dump/safe_dump_advanced_try.rb
|
339
|
+
- try/features/safe_dump/safe_dump_try.rb
|
320
340
|
- try/features/transient_fields/redacted_string_try.rb
|
321
341
|
- try/features/transient_fields/refresh_reset_try.rb
|
322
342
|
- try/features/transient_fields/simple_refresh_test.rb
|
323
343
|
- try/features/transient_fields/single_use_redacted_string_try.rb
|
324
|
-
- try/features/transient_fields_core_try.rb
|
325
|
-
- try/features/transient_fields_integration_try.rb
|
344
|
+
- try/features/transient_fields/transient_fields_core_try.rb
|
345
|
+
- try/features/transient_fields/transient_fields_integration_try.rb
|
326
346
|
- try/helpers/test_helpers.rb
|
327
347
|
- try/horreum/base_try.rb
|
328
348
|
- try/horreum/class_methods_try.rb
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/try/features/{encryption_fields → encrypted_fields}/missing_current_key_version_try.rb
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/try/features/{encryption_fields → encrypted_fields}/universal_serialization_safety_try.rb
RENAMED
File without changes
|