foobara 0.5.10 → 0.6.2

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 (325) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +22 -0
  4. data/lib/foobara/all.rb +4 -2
  5. data/projects/command/src/command_pattern_implementation/concerns/command_data.rb +3 -3
  6. data/projects/command/src/command_pattern_implementation/concerns/domain_mappers.rb +2 -2
  7. data/projects/command/src/command_pattern_implementation/concerns/errors.rb +27 -27
  8. data/projects/command/src/command_pattern_implementation/concerns/errors_type.rb +7 -11
  9. data/projects/command/src/command_pattern_implementation/concerns/inputs.rb +4 -24
  10. data/projects/command/src/command_pattern_implementation/concerns/inputs_type.rb +9 -14
  11. data/projects/command/src/command_pattern_implementation/concerns/reflection.rb +7 -20
  12. data/projects/command/src/command_pattern_implementation/concerns/runtime.rb +3 -48
  13. data/projects/command/src/command_pattern_implementation/concerns/subcommands.rb +5 -5
  14. data/projects/command/src/command_pattern_implementation.rb +0 -1
  15. data/projects/command_connectors/lib/foobara/command_connectors.rb +1 -1
  16. data/projects/command_connectors/src/command_connector/concerns/desugarizers.rb +5 -5
  17. data/projects/command_connectors/src/command_connector/concerns/reflection.rb +63 -17
  18. data/projects/command_connectors/src/command_connector/request.rb +26 -10
  19. data/projects/command_connectors/src/command_connector/response.rb +2 -0
  20. data/projects/command_connectors/src/command_connector.rb +62 -58
  21. data/projects/command_connectors/src/command_registry/exposed_command.rb +7 -2
  22. data/projects/command_connectors/src/command_registry.rb +24 -18
  23. data/projects/command_connectors/src/desugarizer.rb +2 -2
  24. data/projects/command_connectors/src/desugarizers/attributes.rb +8 -8
  25. data/projects/command_connectors/src/desugarizers/auth.rb +1 -1
  26. data/projects/command_connectors/src/desugarizers/set_inputs.rb +3 -3
  27. data/projects/command_connectors/src/desugarizers/symbols_to_true.rb +2 -2
  28. data/projects/command_connectors/src/request_mutator.rb +6 -6
  29. data/projects/command_connectors/src/response_mutator.rb +6 -6
  30. data/projects/command_connectors/src/transformed_command.rb +39 -36
  31. data/projects/command_connectors/src/transformers/auth_errors_transformer.rb +2 -2
  32. data/projects/command_connectors/src/transformers/entity_to_primary_key_inputs_transformer.rb +2 -2
  33. data/projects/command_connectors/src/transformers/load_delegated_attributes_entities_pre_commit_transformer.rb +1 -1
  34. data/projects/domain_mapper/src/domain_mapper.rb +4 -4
  35. data/projects/domain_mapper/src/domain_mapper_lookups.rb +3 -3
  36. data/projects/entities/projects/detached_entity/lib/foobara/detached_entity.rb +1 -1
  37. data/projects/entities/projects/detached_entity/src/concerns/associations.rb +18 -18
  38. data/projects/entities/projects/detached_entity/src/concerns/initialization.rb +2 -2
  39. data/projects/entities/projects/detached_entity/src/concerns/primary_key.rb +4 -4
  40. data/projects/entities/projects/detached_entity/src/concerns/types.rb +2 -2
  41. data/projects/entities/projects/detached_entity/src/detached_entity_type.rb +4 -4
  42. data/projects/entities/projects/detached_entity/src/extensions/builtin_types/detached_entity/casters/primary_key.rb +1 -1
  43. data/projects/entities/projects/detached_entity/src/extensions/builtin_types/detached_entity/validators/model_instance_is_valid.rb +2 -2
  44. data/projects/entities/projects/detached_entity/src/extensions/type_declarations/handlers/registered_type_declaration/validate_primary_key_present.rb +30 -0
  45. data/projects/entities/projects/detached_entity/src/remove_sensitive_values_transformer_extensions.rb +2 -2
  46. data/projects/entities/projects/entity/lib/foobara/entity.rb +1 -1
  47. data/projects/entities/projects/entity/src/concerns/attributes.rb +6 -6
  48. data/projects/entities/projects/entity/src/concerns/callbacks.rb +1 -1
  49. data/projects/entities/projects/entity/src/concerns/initialization.rb +8 -8
  50. data/projects/entities/projects/entity/src/concerns/mutations.rb +4 -4
  51. data/projects/entities/projects/entity/src/concerns/persistence.rb +3 -3
  52. data/projects/entities/projects/entity/src/concerns/queries.rb +7 -7
  53. data/projects/entities/projects/entity/src/extensions/domain/domain_module_extension.rb +4 -4
  54. data/projects/entities/projects/entity/src/new_prepend.rb +2 -2
  55. data/projects/entities/projects/entity/src/not_found_error.rb +8 -8
  56. data/projects/entities/projects/entity/src/sensitive_value_removers/entity.rb +8 -5
  57. data/projects/entities/projects/in_memory_crud_driver_minimal/src/in_memory_minimal.rb +4 -4
  58. data/projects/entities/projects/model_attribute_helpers/lib/foobara/model_attribute_helpers.rb +0 -2
  59. data/projects/entities/projects/model_attribute_helpers/src/attribute_helper_aliases.rb +1 -1
  60. data/projects/entities/projects/model_attribute_helpers/src/attribute_helpers.rb +2 -2
  61. data/projects/entities/projects/nested_transactionable/lib/foobara/nested_transactionable.rb +5 -5
  62. data/projects/entities/projects/persistence/lib/foobara/persistence.rb +1 -1
  63. data/projects/entities/projects/persistence/src/entity_attributes_crud_driver.rb +35 -37
  64. data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/entity_callback_handling.rb +25 -25
  65. data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/state_transitions.rb +8 -8
  66. data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/transaction_tracking.rb +1 -1
  67. data/projects/entities/projects/persistence/src/entity_base/transaction.rb +9 -9
  68. data/projects/entities/projects/persistence/src/entity_base/transaction_table/concerns/record_tracking.rb +4 -4
  69. data/projects/entities/projects/persistence/src/entity_base/transaction_table.rb +52 -52
  70. data/projects/entities/projects/persistence/src/entity_base.rb +7 -7
  71. data/projects/entities/projects/persistence/src/persistence.rb +23 -23
  72. data/projects/entities/projects/weak_object_set/src/weak_object_set.rb +16 -16
  73. data/projects/entities_plumbing/lib/foobara/entities_plumbing.rb +6 -2
  74. data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entities.rb +21 -5
  75. data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_errors_type.rb +23 -0
  76. data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_inputs.rb +33 -0
  77. data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_reflection.rb +39 -0
  78. data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/runtime.rb +39 -0
  79. data/projects/manifest/src/base_manifest.rb +9 -9
  80. data/projects/manifest/src/model.rb +4 -4
  81. data/projects/manifest/src/type.rb +3 -3
  82. data/projects/manifest/src/type_declaration.rb +4 -4
  83. data/projects/model_plumbing/lib/foobara/model_plumbing.rb +2 -0
  84. data/projects/model_plumbing/src/extensions/command_pattern_implementation/concerns/model_inputs_type.rb +35 -0
  85. data/projects/typesystem/projects/builtin_types/lib/foobara/builtin_types.rb +2 -1
  86. data/projects/typesystem/projects/builtin_types/src/builtin_types.rb +8 -8
  87. data/projects/typesystem/projects/builtin_types/src/duck/supported_validators/one_of/type_declaration_extension/extend_registered_type_declaration/desugarizers/module_desugarizer.rb +2 -2
  88. data/projects/typesystem/projects/builtin_types/src/email/validator_base.rb +4 -4
  89. data/projects/typesystem/projects/callback/src/block/concerns/block_parameter_required.rb +2 -2
  90. data/projects/typesystem/projects/callback/src/block/concerns/keyword_argumentable_block.rb +2 -2
  91. data/projects/typesystem/projects/callback/src/block/concerns/single_argument_block.rb +2 -2
  92. data/projects/typesystem/projects/callback/src/block.rb +4 -4
  93. data/projects/typesystem/projects/callback/src/registry/base.rb +10 -10
  94. data/projects/typesystem/projects/callback/src/registry/conditioned.rb +2 -2
  95. data/projects/typesystem/projects/callback/src/registry/multiple_action.rb +6 -6
  96. data/projects/typesystem/projects/callback/src/runner.rb +4 -4
  97. data/projects/typesystem/projects/callback/src/set.rb +4 -4
  98. data/projects/typesystem/projects/common/src/data_path.rb +14 -14
  99. data/projects/typesystem/projects/common/src/error.rb +11 -11
  100. data/projects/typesystem/projects/common/src/error_collection.rb +14 -14
  101. data/projects/typesystem/projects/common/src/error_key.rb +5 -3
  102. data/projects/typesystem/projects/common/src/outcome.rb +5 -5
  103. data/projects/typesystem/projects/common/src/possible_error.rb +2 -2
  104. data/projects/typesystem/projects/concerns/src/concern.rb +3 -3
  105. data/projects/typesystem/projects/delegate/src/extensions/module.rb +4 -4
  106. data/projects/typesystem/projects/domain/lib/foobara/domain.rb +2 -2
  107. data/projects/typesystem/projects/domain/src/domain.rb +5 -5
  108. data/projects/typesystem/projects/domain/src/domain_module_extension.rb +22 -22
  109. data/projects/typesystem/projects/domain/src/extensions/foobara.rb +14 -6
  110. data/projects/typesystem/projects/domain/src/module_extension.rb +4 -4
  111. data/projects/typesystem/projects/domain/src/organization.rb +6 -6
  112. data/projects/typesystem/projects/enumerated/src/accessors.rb +4 -4
  113. data/projects/typesystem/projects/enumerated/src/values.rb +14 -14
  114. data/projects/{entities → typesystem}/projects/model/lib/foobara/model.rb +1 -1
  115. data/projects/{entities → typesystem}/projects/model/src/concerns/classes.rb +4 -4
  116. data/projects/{entities → typesystem}/projects/model/src/concerns/types.rb +5 -5
  117. data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/casters/hash.rb +1 -1
  118. data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/attributes_handler_desugarizer.rb +2 -2
  119. data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/model_class_desugarizer.rb +6 -6
  120. data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/to_type_transformer.rb +4 -4
  121. data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration.rb +2 -2
  122. data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/registered_type_declaration/model_class_desugarizer.rb +6 -10
  123. data/projects/{entities → typesystem}/projects/model/src/model.rb +13 -13
  124. data/projects/{entities → typesystem}/projects/model/src/sensitive_value_removers/model.rb +1 -1
  125. data/projects/typesystem/projects/namespace/src/ambiguous_registry.rb +5 -5
  126. data/projects/typesystem/projects/namespace/src/base_registry.rb +8 -8
  127. data/projects/typesystem/projects/namespace/src/is_namespace.rb +19 -19
  128. data/projects/typesystem/projects/namespace/src/namespace/lookup_mode.rb +2 -2
  129. data/projects/typesystem/projects/namespace/src/namespace.rb +5 -5
  130. data/projects/typesystem/projects/namespace/src/namespace_helpers.rb +4 -4
  131. data/projects/typesystem/projects/namespace/src/prefixless_registry.rb +3 -3
  132. data/projects/typesystem/projects/namespace/src/scoped.rb +7 -7
  133. data/projects/typesystem/projects/project/src/foobara.rb +13 -7
  134. data/projects/typesystem/projects/project/src/project.rb +1 -1
  135. data/projects/typesystem/projects/state_machine/src/callbacks.rb +14 -14
  136. data/projects/typesystem/projects/state_machine/src/state_machine.rb +2 -2
  137. data/projects/typesystem/projects/state_machine/src/sugar.rb +3 -3
  138. data/projects/typesystem/projects/type_declarations/lib/foobara/type_declarations.rb +1 -1
  139. data/projects/typesystem/projects/type_declarations/src/attributes.rb +2 -2
  140. data/projects/typesystem/projects/type_declarations/src/attributes_transformers/from_yaml.rb +2 -2
  141. data/projects/typesystem/projects/type_declarations/src/attributes_transformers/only.rb +2 -2
  142. data/projects/typesystem/projects/type_declarations/src/attributes_transformers/reject.rb +2 -2
  143. data/projects/typesystem/projects/type_declarations/src/attributes_transformers/set.rb +4 -4
  144. data/projects/typesystem/projects/type_declarations/src/desugarizer.rb +2 -2
  145. data/projects/typesystem/projects/type_declarations/src/dsl/attributes.rb +9 -9
  146. data/projects/typesystem/projects/type_declarations/src/error_extension.rb +6 -6
  147. data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/array_desugarizer.rb +3 -3
  148. data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/element_type_declaration_desugarizer.rb +2 -2
  149. data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/type_set_to_array_desugarizer.rb +2 -2
  150. data/projects/typesystem/projects/type_declarations/src/handlers/extend_attributes_type_declaration/element_type_declarations_desugarizer.rb +2 -2
  151. data/projects/typesystem/projects/type_declarations/src/handlers/extend_registered_type_declaration/to_type_transformer.rb +2 -2
  152. data/projects/typesystem/projects/type_declarations/src/handlers/extend_registered_type_declaration.rb +2 -2
  153. data/projects/typesystem/projects/type_declarations/src/handlers/extend_tuple_type_declaration/array_desugarizer.rb +2 -2
  154. data/projects/typesystem/projects/type_declarations/src/handlers/registered_type_declaration.rb +4 -3
  155. data/projects/typesystem/projects/type_declarations/src/remove_sensitive_values_transformer.rb +3 -3
  156. data/projects/typesystem/projects/type_declarations/src/type_builder.rb +5 -5
  157. data/projects/typesystem/projects/type_declarations/src/type_declaration.rb +7 -1
  158. data/projects/typesystem/projects/type_declarations/src/type_declaration_handler.rb +13 -13
  159. data/projects/typesystem/projects/type_declarations/src/type_declaration_handler_registry.rb +2 -2
  160. data/projects/typesystem/projects/type_declarations/src/type_declaration_validator.rb +2 -2
  161. data/projects/typesystem/projects/type_declarations/src/type_declarations.rb +2 -2
  162. data/projects/typesystem/projects/type_declarations/src/with_registries.rb +2 -2
  163. data/projects/typesystem/projects/types/lib/foobara/types.rb +0 -2
  164. data/projects/typesystem/projects/types/src/extensions/error.rb +5 -5
  165. data/projects/typesystem/projects/types/src/type/concerns/reflection.rb +22 -22
  166. data/projects/typesystem/projects/types/src/type/concerns/supported_processor_registration.rb +4 -4
  167. data/projects/typesystem/projects/types/src/type.rb +25 -25
  168. data/projects/typesystem/projects/value/src/caster.rb +11 -11
  169. data/projects/typesystem/projects/value/src/data_error.rb +1 -1
  170. data/projects/typesystem/projects/value/src/mutator.rb +3 -3
  171. data/projects/typesystem/projects/value/src/processor/casting.rb +6 -6
  172. data/projects/typesystem/projects/value/src/processor/pipeline.rb +2 -2
  173. data/projects/typesystem/projects/value/src/processor/runner.rb +1 -1
  174. data/projects/typesystem/projects/value/src/processor/selection.rb +3 -3
  175. data/projects/typesystem/projects/value/src/processor.rb +23 -23
  176. data/projects/typesystem/projects/value/src/transformer.rb +5 -5
  177. data/projects/typesystem/projects/value/src/validator.rb +3 -3
  178. data/version.rb +2 -2
  179. metadata +44 -160
  180. data/projects/command_connectors/Guardfile +0 -6
  181. data/projects/command_connectors/spec/allowed_rules_spec.rb +0 -77
  182. data/projects/command_connectors/spec/ambiguous_lookups_spec.rb +0 -143
  183. data/projects/command_connectors/spec/auth_mappers_spec.rb +0 -201
  184. data/projects/command_connectors/spec/command_connector_spec.rb +0 -2460
  185. data/projects/command_connectors/spec/command_registry_spec.rb +0 -9
  186. data/projects/command_connectors/spec/commands/describe_spec.rb +0 -83
  187. data/projects/command_connectors/spec/commands/ping_spec.rb +0 -14
  188. data/projects/command_connectors/spec/commands/query_git_commit_info_spec.rb +0 -55
  189. data/projects/command_connectors/spec/fixtures/command_connectors/manifest_with_errors_with_missing_command_parents.yaml +0 -1662
  190. data/projects/command_connectors/spec/not_found_error_spec.rb +0 -17
  191. data/projects/command_connectors/spec/pre_commit_transformers/load_atoms_pre_commit_transformer_spec.rb +0 -108
  192. data/projects/command_connectors/spec/request_spec.rb +0 -118
  193. data/projects/command_connectors/spec/serializer_spec.rb +0 -9
  194. data/projects/command_connectors/spec/serializers/aggregate_serializer_spec.rb +0 -45
  195. data/projects/command_connectors/spec/serializers/atomic_serializer_spec.rb +0 -68
  196. data/projects/command_connectors/spec/serializers/entities_to_primary_keys_serializer_spec.rb +0 -36
  197. data/projects/command_connectors/spec/serializers/json_serializer_spec.rb +0 -22
  198. data/projects/command_connectors/spec/serializers/noop_serializer_spec.rb +0 -22
  199. data/projects/command_connectors/spec/serializers/yaml_serializer_spec.rb +0 -22
  200. data/projects/command_connectors/spec/spec_helper.rb +0 -56
  201. data/projects/command_connectors/spec/support/rubyprof.rb +0 -32
  202. data/projects/command_connectors/spec/support/term_trap.rb +0 -6
  203. data/projects/command_connectors/spec/transformers/entity_to_primary_key_inputs_transformer_spec.rb +0 -119
  204. data/projects/entities/Guardfile +0 -6
  205. data/projects/entities/spec/builtin_types/detached_entity_spec.rb +0 -300
  206. data/projects/entities/spec/builtin_types/entity_spec.rb +0 -501
  207. data/projects/entities/spec/builtin_types/model_spec.rb +0 -420
  208. data/projects/entities/spec/detached_entity/casting_spec.rb +0 -31
  209. data/projects/entities/spec/entity/concerns/associations_spec.rb +0 -73
  210. data/projects/entities/spec/entity/concerns/attribute_helpers_spec.rb +0 -220
  211. data/projects/entities/spec/entity/concerns/callbacks_spec.rb +0 -61
  212. data/projects/entities/spec/entity/concerns/initialization_spec.rb +0 -213
  213. data/projects/entities/spec/entity/concerns/mutations_spec.rb +0 -38
  214. data/projects/entities/spec/entity/concerns/queries_spec.rb +0 -184
  215. data/projects/entities/spec/entity/entity_spec.rb +0 -240
  216. data/projects/entities/spec/entity/extending_existing_spec.rb +0 -137
  217. data/projects/entities/spec/entity/extensions/domain_module_extension_spec.rb +0 -42
  218. data/projects/entities/spec/entity/from_type_declaration_spec.rb +0 -34
  219. data/projects/entities/spec/entity/that_owns_spec.rb +0 -243
  220. data/projects/entities/spec/entity/weak_object_set_spec.rb +0 -91
  221. data/projects/entities/spec/model/model_spec.rb +0 -135
  222. data/projects/entities/spec/model/types_spec.rb +0 -397
  223. data/projects/entities/spec/nested_transactionable/nested_transactionable_spec.rb +0 -67
  224. data/projects/entities/spec/persistence/entity_attributes_crud_drivers/in_memory_minimal_spec.rb +0 -13
  225. data/projects/entities/spec/persistence/entity_base/transaction_spec.rb +0 -509
  226. data/projects/entities/spec/persistence/entity_base/transaction_table_spec.rb +0 -58
  227. data/projects/entities/spec/persistence/persistence_spec.rb +0 -148
  228. data/projects/entities/spec/spec_helper.rb +0 -54
  229. data/projects/entities/spec/support/rubyprof.rb +0 -32
  230. data/projects/entities/spec/support/term_trap.rb +0 -6
  231. data/projects/entities/spec/type_declarations/sensitive_type_removers_spec.rb +0 -90
  232. data/projects/entities_plumbing/Guardfile +0 -6
  233. data/projects/entities_plumbing/spec/auth_mappers_spec.rb +0 -159
  234. data/projects/entities_plumbing/spec/spec_helper.rb +0 -55
  235. data/projects/entities_plumbing/spec/support/rubyprof.rb +0 -32
  236. data/projects/entities_plumbing/spec/support/term_trap.rb +0 -6
  237. data/projects/entities_plumbing/spec/transaction_spec.rb +0 -534
  238. data/projects/manifest/Guardfile +0 -6
  239. data/projects/manifest/spec/associations_spec.rb +0 -67
  240. data/projects/manifest/spec/manifest_spec.rb +0 -382
  241. data/projects/manifest/spec/model_spec.rb +0 -126
  242. data/projects/manifest/spec/spec_helper.rb +0 -54
  243. data/projects/manifest/spec/type_declaration_spec.rb +0 -39
  244. data/projects/manifest/spec/type_spec.rb +0 -30
  245. data/projects/typesystem/spec/builtin_types/allow_nil_spec.rb +0 -138
  246. data/projects/typesystem/spec/builtin_types/array_spec.rb +0 -140
  247. data/projects/typesystem/spec/builtin_types/associative_array_spec.rb +0 -228
  248. data/projects/typesystem/spec/builtin_types/attributes_spec.rb +0 -490
  249. data/projects/typesystem/spec/builtin_types/big_decimal_spec.rb +0 -42
  250. data/projects/typesystem/spec/builtin_types/boolean_spec.rb +0 -43
  251. data/projects/typesystem/spec/builtin_types/class_type_desugarizer_spec.rb +0 -17
  252. data/projects/typesystem/spec/builtin_types/custom_type_spec.rb +0 -430
  253. data/projects/typesystem/spec/builtin_types/date_spec.rb +0 -37
  254. data/projects/typesystem/spec/builtin_types/datetime_spec.rb +0 -49
  255. data/projects/typesystem/spec/builtin_types/email_spec.rb +0 -44
  256. data/projects/typesystem/spec/builtin_types/float_spec.rb +0 -59
  257. data/projects/typesystem/spec/builtin_types/instance_of_spec.rb +0 -75
  258. data/projects/typesystem/spec/builtin_types/one_of_spec.rb +0 -73
  259. data/projects/typesystem/spec/builtin_types/string_spec.rb +0 -117
  260. data/projects/typesystem/spec/builtin_types/symbol_spec.rb +0 -24
  261. data/projects/typesystem/spec/builtin_types/tuple_spec.rb +0 -125
  262. data/projects/typesystem/spec/callback/callback_spec.rb +0 -155
  263. data/projects/typesystem/spec/callback/registry/conditioned_spec.rb +0 -152
  264. data/projects/typesystem/spec/callback/registry/multiple_action_spec.rb +0 -144
  265. data/projects/typesystem/spec/callback/registry/single_action_spec.rb +0 -114
  266. data/projects/typesystem/spec/common/data_path_spec.rb +0 -268
  267. data/projects/typesystem/spec/common/error_collection_spec.rb +0 -77
  268. data/projects/typesystem/spec/common/error_key_spec.rb +0 -56
  269. data/projects/typesystem/spec/common/outcome_spec.rb +0 -65
  270. data/projects/typesystem/spec/common/possible_error_spec.rb +0 -17
  271. data/projects/typesystem/spec/concerns/concern_spec.rb +0 -122
  272. data/projects/typesystem/spec/enumerated/accessors_spec.rb +0 -182
  273. data/projects/typesystem/spec/enumerated/enumerated_spec.rb +0 -32
  274. data/projects/typesystem/spec/enumerated/values_spec.rb +0 -67
  275. data/projects/typesystem/spec/foobara/foobara_spec.rb +0 -45
  276. data/projects/typesystem/spec/namespace/ambiguous_registry_spec.rb +0 -70
  277. data/projects/typesystem/spec/namespace/foobara_simulation_spec.rb +0 -254
  278. data/projects/typesystem/spec/namespace/is_namespace_spec.rb +0 -103
  279. data/projects/typesystem/spec/namespace/namespace_helpers_spec.rb +0 -67
  280. data/projects/typesystem/spec/namespace/namespace_spec.rb +0 -335
  281. data/projects/typesystem/spec/namespace/prefixless_registry_spec.rb +0 -30
  282. data/projects/typesystem/spec/namespace/unambiguous_registry_spec.rb +0 -50
  283. data/projects/typesystem/spec/spec_helper.rb +0 -52
  284. data/projects/typesystem/spec/state_machine/callbacks_spec.rb +0 -144
  285. data/projects/typesystem/spec/state_machine/state_machine_spec.rb +0 -224
  286. data/projects/typesystem/spec/state_machine/target_attribute_spec.rb +0 -46
  287. data/projects/typesystem/spec/support/rubyprof.rb +0 -32
  288. data/projects/typesystem/spec/support/term_trap.rb +0 -6
  289. data/projects/typesystem/spec/type_declarations/attributes_spec.rb +0 -14
  290. data/projects/typesystem/spec/type_declarations/attributes_transformer_spec.rb +0 -95
  291. data/projects/typesystem/spec/type_declarations/dsl/attributes_spec.rb +0 -107
  292. data/projects/typesystem/spec/type_declarations/handlers/extend_registered_type_declaration_spec.rb +0 -13
  293. data/projects/typesystem/spec/type_declarations/sensitive_type_removers_spec.rb +0 -210
  294. data/projects/typesystem/spec/type_declarations/type_builder_spec.rb +0 -47
  295. data/projects/typesystem/spec/type_declarations/type_declaration_spec.rb +0 -252
  296. data/projects/typesystem/spec/type_declarations/type_declarations_spec.rb +0 -11
  297. data/projects/typesystem/spec/type_declarations/typed_transformer_spec.rb +0 -65
  298. data/projects/typesystem/spec/types/sensitive_spec.rb +0 -36
  299. data/projects/typesystem/spec/types/type_spec.rb +0 -102
  300. data/projects/typesystem/spec/value/caster_spec.rb +0 -23
  301. data/projects/typesystem/spec/value/processor/runner_spec.rb +0 -34
  302. data/projects/typesystem/spec/value/processor/selection_spec.rb +0 -71
  303. data/projects/typesystem/spec/value/processor_spec.rb +0 -76
  304. data/projects/typesystem/spec/value/transformer_spec.rb +0 -27
  305. /data/projects/{command/src → entities_plumbing/src/extensions}/command_pattern_implementation/concerns/transactions.rb +0 -0
  306. /data/projects/{entities → typesystem}/projects/model/src/concerns/aliases.rb +0 -0
  307. /data/projects/{entities → typesystem}/projects/model/src/concerns/reflection.rb +0 -0
  308. /data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/supported_transformers/mutable.rb +0 -0
  309. /data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/validators/model_instance_is_valid.rb +0 -0
  310. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/array_with_symbolic_elements.rb +0 -0
  311. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/delegates_desugarizer.rb +0 -0
  312. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/delegates_validator.rb +0 -0
  313. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/hash_desugarizer.rb +0 -0
  314. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/move_private_from_element_types_to_root.rb +0 -0
  315. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/symbolize_private.rb +0 -0
  316. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/valid_attribute_names.rb +0 -0
  317. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration.rb +0 -0
  318. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/hash_desugarizer.rb +0 -0
  319. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/model_class_type_desugarizer.rb +0 -0
  320. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/mutable_validator.rb +0 -0
  321. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/normalize_mutable_attributes_desugarizer.rb +0 -0
  322. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/to_type_transformer.rb +0 -0
  323. /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/lazy_element_types/model.rb +0 -0
  324. /data/projects/{entities → typesystem}/projects/model/src/sensitive_type_removers/extended_model.rb +0 -0
  325. /data/projects/{entities → typesystem}/projects/model/src/sensitive_type_removers/model.rb +0 -0
@@ -78,9 +78,9 @@ module Foobara
78
78
  match = /^Cannot(\w+)Error$/.match(Util.non_full_name(self.class))
79
79
 
80
80
  unless match
81
- # :nocov:
81
+ # simplecov:disable
82
82
  raise "Bad error name for #{self.class.name}"
83
- # :nocov:
83
+ # simplecov:enable
84
84
  end
85
85
 
86
86
  Util.underscore(match[1])
@@ -121,15 +121,15 @@ module Foobara
121
121
 
122
122
  # CRUD
123
123
  def select(_query_declaration)
124
- # :nocov:
125
- raise "subclass responsibility"
126
- # :nocov:
124
+ # simplecov:disable
125
+ raise NotImplementedError
126
+ # simplecov:enable
127
127
  end
128
128
 
129
129
  def all(page_size: nil)
130
- # :nocov:
131
- raise "subclass responsibility"
132
- # :nocov:
130
+ # simplecov:disable
131
+ raise NotImplementedError
132
+ # simplecov:enable
133
133
  end
134
134
 
135
135
  def first
@@ -137,9 +137,9 @@ module Foobara
137
137
  end
138
138
 
139
139
  def find(_record_id)
140
- # :nocov:
141
- raise "subclass responsibility"
142
- # :nocov:
140
+ # simplecov:disable
141
+ raise NotImplementedError
142
+ # simplecov:enable
143
143
  end
144
144
 
145
145
  def find!(record_id)
@@ -184,9 +184,7 @@ module Foobara
184
184
 
185
185
  def find_all_by_attribute_containing_any_of(attribute_name, values)
186
186
  all.select do |attributes|
187
- attributes[attribute_name]&.any? do |attribute_value|
188
- values.include?(attribute_value)
189
- end
187
+ attributes[attribute_name]&.intersect?(values)
190
188
  end
191
189
  end
192
190
 
@@ -228,51 +226,51 @@ module Foobara
228
226
  end
229
227
 
230
228
  def insert(_attributes)
231
- # :nocov:
232
- raise "subclass responsibility"
233
- # :nocov:
229
+ # simplecov:disable
230
+ raise NotImplementedError
231
+ # simplecov:enable
234
232
  end
235
233
 
236
234
  def insert_many(attributes_array)
237
235
  # TODO: add a test for a driver that doesn't override this and remove these :nocov: comments
238
- # :nocov:
236
+ # simplecov:disable
239
237
  attributes_array.each.lazy.map do |attributes|
240
238
  insert(attributes)
241
239
  end
242
- # :nocov:
240
+ # simplecov:enable
243
241
  end
244
242
 
245
243
  def update(_record)
246
- # :nocov:
247
- raise "subclass responsibility"
248
- # :nocov:
244
+ # simplecov:disable
245
+ raise NotImplementedError
246
+ # simplecov:enable
249
247
  end
250
248
 
251
249
  def hard_delete(_record_id)
252
- # :nocov:
253
- raise "subclass responsibility"
254
- # :nocov:
250
+ # simplecov:disable
251
+ raise NotImplementedError
252
+ # simplecov:enable
255
253
  end
256
254
 
257
255
  def hard_delete_many(record_ids)
258
256
  # TODO: add a test for a driver that doesn't override this and remove these :nocov: comments
259
- # :nocov:
257
+ # simplecov:disable
260
258
  record_ids.each.lazy.map do |record_id|
261
259
  delete(record_id)
262
260
  end
263
- # :nocov:
261
+ # simplecov:enable
264
262
  end
265
263
 
266
264
  def hard_delete_all!
267
- # :nocov:
268
- raise "subclass responsibility"
269
- # :nocov:
265
+ # simplecov:disable
266
+ raise NotImplementedError
267
+ # simplecov:enable
270
268
  end
271
269
 
272
270
  def count
273
- # :nocov:
274
- raise "subclass responsibility"
275
- # :nocov:
271
+ # simplecov:disable
272
+ raise NotImplementedError
273
+ # simplecov:enable
276
274
  end
277
275
 
278
276
  def exists?(record_id)
@@ -301,12 +299,12 @@ module Foobara
301
299
  end
302
300
  elsif type.extends?(BuiltinTypes[:tuple])
303
301
  # TODO: test this code path
304
- # :nocov:
302
+ # simplecov:disable
305
303
  object.map.with_index do |value, index|
306
304
  element_type = type.element_types[index]
307
305
  restore_attributes(value, element_type)
308
306
  end
309
- # :nocov:
307
+ # simplecov:enable
310
308
  elsif type.extends?(BuiltinTypes[:array])
311
309
  element_type = type.element_type
312
310
  object.map { |value| restore_attributes(value, element_type) }
@@ -333,9 +331,9 @@ module Foobara
333
331
  outcome.result
334
332
  else
335
333
  # TODO: figure out how to test this code path
336
- # :nocov:
334
+ # simplecov:disable
337
335
  object
338
- # :nocov:
336
+ # simplecov:enable
339
337
  end
340
338
  end
341
339
  end
@@ -10,7 +10,7 @@ module Foobara
10
10
  module EntityCallbackHandling
11
11
  class << self
12
12
  def reset_all
13
- Foobara.raise_if_production!("reset_all")
13
+ Foobara.raise_if_production!
14
14
  install!
15
15
  end
16
16
 
@@ -25,10 +25,10 @@ module Foobara
25
25
  end
26
26
 
27
27
  unless transaction.open?
28
- # :nocov:
28
+ # simplecov:disable
29
29
  raise CurrentTransactionIsClosedError,
30
30
  "Cannot modify #{record} because current transaction is not open"
31
- # :nocov:
31
+ # simplecov:enable
32
32
  end
33
33
 
34
34
  transaction.updated(record)
@@ -38,17 +38,17 @@ module Foobara
38
38
  transaction = Transaction.open_transaction_for(record)
39
39
 
40
40
  unless transaction
41
- # :nocov:
41
+ # simplecov:disable
42
42
  raise NoCurrentTransactionError,
43
43
  "Cannot modify #{record} because there's no current transaction"
44
- # :nocov:
44
+ # simplecov:enable
45
45
  end
46
46
 
47
47
  unless transaction.open?
48
- # :nocov:
48
+ # simplecov:disable
49
49
  raise CurrentTransactionIsClosedError,
50
50
  "Cannot modify #{record} because current transaction is not open"
51
- # :nocov:
51
+ # simplecov:enable
52
52
  end
53
53
 
54
54
  transaction.updated(record)
@@ -58,17 +58,17 @@ module Foobara
58
58
  transaction = Transaction.open_transaction_for(record)
59
59
 
60
60
  unless transaction
61
- # :nocov:
61
+ # simplecov:disable
62
62
  raise NoCurrentTransactionError,
63
63
  "Cannot modify #{record} because there's no current transaction"
64
- # :nocov:
64
+ # simplecov:enable
65
65
  end
66
66
 
67
67
  unless transaction.open?
68
- # :nocov:
68
+ # simplecov:disable
69
69
  raise CurrentTransactionIsClosedError,
70
70
  "Cannot modify #{record} because current transaction is not open"
71
- # :nocov:
71
+ # simplecov:enable
72
72
  end
73
73
 
74
74
  transaction.hard_deleted(record)
@@ -78,17 +78,17 @@ module Foobara
78
78
  transaction = Transaction.open_transaction_for(record)
79
79
 
80
80
  unless transaction
81
- # :nocov:
81
+ # simplecov:disable
82
82
  raise NoCurrentTransactionError,
83
83
  "Cannot modify #{record} because there's no current transaction"
84
- # :nocov:
84
+ # simplecov:enable
85
85
  end
86
86
 
87
87
  unless transaction.open?
88
- # :nocov:
88
+ # simplecov:disable
89
89
  raise CurrentTransactionIsClosedError,
90
90
  "Cannot modify #{record} because current transaction is not open"
91
- # :nocov:
91
+ # simplecov:enable
92
92
  end
93
93
 
94
94
  transaction.unhard_deleted(record)
@@ -97,17 +97,17 @@ module Foobara
97
97
  Entity.after_initialized_loaded do |record:, **|
98
98
  transaction = Persistence.current_transaction(record)
99
99
  unless transaction
100
- # :nocov:
100
+ # simplecov:disable
101
101
  raise NoCurrentTransactionError,
102
102
  "Cannot initialize #{record} because there's no current transaction"
103
- # :nocov:
103
+ # simplecov:enable
104
104
  end
105
105
 
106
106
  unless transaction.open?
107
- # :nocov:
107
+ # simplecov:disable
108
108
  raise CurrentTransactionIsClosedError,
109
109
  "Cannot initialize #{record} because current transaction is not open"
110
- # :nocov:
110
+ # simplecov:enable
111
111
  end
112
112
  # TODO: we need a way to not blow up here in case of non-block form of transaction
113
113
  transaction.track_loaded(record)
@@ -122,10 +122,10 @@ module Foobara
122
122
  end
123
123
 
124
124
  unless transaction.open?
125
- # :nocov:
125
+ # simplecov:disable
126
126
  raise CurrentTransactionIsClosedError,
127
127
  "Cannot initialize #{record} because current transaction is not open"
128
- # :nocov:
128
+ # simplecov:enable
129
129
  end
130
130
  # TODO: we need a way to not blow up here in case of non-block form of transaction
131
131
  transaction.track_created(record)
@@ -135,17 +135,17 @@ module Foobara
135
135
  transaction = Persistence.current_transaction(record)
136
136
 
137
137
  unless transaction
138
- # :nocov:
138
+ # simplecov:disable
139
139
  raise NoCurrentTransactionError,
140
140
  "Cannot initialize #{record} because there's no current transaction"
141
- # :nocov:
141
+ # simplecov:enable
142
142
  end
143
143
 
144
144
  unless transaction.open?
145
- # :nocov:
145
+ # simplecov:disable
146
146
  raise CurrentTransactionIsClosedError,
147
147
  "Cannot initialize #{record} because current transaction is not open"
148
- # :nocov:
148
+ # simplecov:enable
149
149
  end
150
150
  # TODO: we need a way to not blow up here in case of non-block form of transaction
151
151
  transaction.track_unloaded_thunk(record)
@@ -32,10 +32,10 @@ module Foobara
32
32
  end
33
33
  entity_attributes_crud_driver.flush_transaction(raw_tx)
34
34
  rescue => e
35
- # :nocov:
35
+ # simplecov:disable
36
36
  rollback!(e)
37
37
  raise
38
- # :nocov:
38
+ # simplecov:enable
39
39
  end
40
40
 
41
41
  # Should communicate somehow that this is only in-memory.
@@ -46,10 +46,10 @@ module Foobara
46
46
  end
47
47
  entity_attributes_crud_driver.revert_transaction(raw_tx)
48
48
  rescue => e
49
- # :nocov:
49
+ # simplecov:disable
50
50
  rollback!(e)
51
51
  raise
52
- # :nocov:
52
+ # simplecov:enable
53
53
  end
54
54
 
55
55
  def commit!
@@ -62,10 +62,10 @@ module Foobara
62
62
  each_table(&:transaction_closed)
63
63
  end
64
64
  rescue => e
65
- # :nocov:
65
+ # simplecov:disable
66
66
  rollback!(e)
67
67
  raise
68
- # :nocov:
68
+ # simplecov:enable
69
69
  end
70
70
 
71
71
  def commit_nested!
@@ -75,10 +75,10 @@ module Foobara
75
75
  each_table(&:transaction_closed)
76
76
  end
77
77
  rescue => e
78
- # :nocov:
78
+ # simplecov:disable
79
79
  rollback!(e)
80
80
  raise
81
- # :nocov:
81
+ # simplecov:enable
82
82
  end
83
83
 
84
84
  # TODO: this belongs elsewhere
@@ -23,7 +23,7 @@ module Foobara
23
23
  end
24
24
 
25
25
  def reset_all
26
- Foobara.raise_if_production!("reset_all")
26
+ Foobara.raise_if_production!
27
27
  @open_transactions = nil
28
28
  end
29
29
 
@@ -58,9 +58,9 @@ module Foobara
58
58
  end
59
59
 
60
60
  unless entity_base == entity_class.entity_base
61
- # :nocov:
61
+ # simplecov:disable
62
62
  raise "#{entity_class} is from a different entity base! Cannot proceed."
63
- # :nocov:
63
+ # simplecov:enable
64
64
  end
65
65
 
66
66
  table = tables[entity_class]
@@ -70,9 +70,9 @@ module Foobara
70
70
  else
71
71
  if defined?(@ordered_tables)
72
72
  # TODO: test this path
73
- # :nocov:
73
+ # simplecov:disable
74
74
  remove_instance_variable(:@ordered_tables)
75
- # :nocov:
75
+ # simplecov:enable
76
76
  end
77
77
 
78
78
  tables[entity_class] = TransactionTable.new(self, entity_class)
@@ -102,17 +102,17 @@ module Foobara
102
102
  def load(record_or_entity_class, record_id = nil)
103
103
  entity_or_id = if record_or_entity_class.is_a?(Entity)
104
104
  if record_id
105
- # :nocov:
105
+ # simplecov:disable
106
106
  raise ArgumentError, "Do not give a record_id when also giving a record"
107
- # :nocov:
107
+ # simplecov:enable
108
108
  end
109
109
 
110
110
  record_or_entity_class
111
111
  else
112
112
  unless record_id
113
- # :nocov:
113
+ # simplecov:disable
114
114
  raise ArgumentError, "Must give a record_id when passing in an entity class"
115
- # :nocov:
115
+ # simplecov:enable
116
116
  end
117
117
 
118
118
  record_id
@@ -148,7 +148,7 @@ module Foobara
148
148
  end
149
149
 
150
150
  def load_aggregate(record)
151
- load_aggregates([record]).first
151
+ load_aggregates([record])[0]
152
152
  end
153
153
 
154
154
  def track_unloaded_thunk(entity)
@@ -16,9 +16,9 @@ module Foobara
16
16
 
17
17
  def loading(record)
18
18
  if loading?(record)
19
- # :nocov:
19
+ # simplecov:disable
20
20
  raise "Already loading #{record}"
21
- # :nocov:
21
+ # simplecov:enable
22
22
  end
23
23
 
24
24
  begin
@@ -69,9 +69,9 @@ module Foobara
69
69
 
70
70
  # TODO: is this check redundant? Maybe have the entity explode directly instead?
71
71
  if hard_deleted?(record)
72
- # :nocov:
72
+ # simplecov:disable
73
73
  raise "Cannot update a hard deleted record"
74
- # :nocov:
74
+ # simplecov:enable
75
75
  end
76
76
 
77
77
  unless created?(record)