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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +22 -0
- data/lib/foobara/all.rb +4 -2
- data/projects/command/src/command_pattern_implementation/concerns/command_data.rb +3 -3
- data/projects/command/src/command_pattern_implementation/concerns/domain_mappers.rb +2 -2
- data/projects/command/src/command_pattern_implementation/concerns/errors.rb +27 -27
- data/projects/command/src/command_pattern_implementation/concerns/errors_type.rb +7 -11
- data/projects/command/src/command_pattern_implementation/concerns/inputs.rb +4 -24
- data/projects/command/src/command_pattern_implementation/concerns/inputs_type.rb +9 -14
- data/projects/command/src/command_pattern_implementation/concerns/reflection.rb +7 -20
- data/projects/command/src/command_pattern_implementation/concerns/runtime.rb +3 -48
- data/projects/command/src/command_pattern_implementation/concerns/subcommands.rb +5 -5
- data/projects/command/src/command_pattern_implementation.rb +0 -1
- data/projects/command_connectors/lib/foobara/command_connectors.rb +1 -1
- data/projects/command_connectors/src/command_connector/concerns/desugarizers.rb +5 -5
- data/projects/command_connectors/src/command_connector/concerns/reflection.rb +63 -17
- data/projects/command_connectors/src/command_connector/request.rb +26 -10
- data/projects/command_connectors/src/command_connector/response.rb +2 -0
- data/projects/command_connectors/src/command_connector.rb +62 -58
- data/projects/command_connectors/src/command_registry/exposed_command.rb +7 -2
- data/projects/command_connectors/src/command_registry.rb +24 -18
- data/projects/command_connectors/src/desugarizer.rb +2 -2
- data/projects/command_connectors/src/desugarizers/attributes.rb +8 -8
- data/projects/command_connectors/src/desugarizers/auth.rb +1 -1
- data/projects/command_connectors/src/desugarizers/set_inputs.rb +3 -3
- data/projects/command_connectors/src/desugarizers/symbols_to_true.rb +2 -2
- data/projects/command_connectors/src/request_mutator.rb +6 -6
- data/projects/command_connectors/src/response_mutator.rb +6 -6
- data/projects/command_connectors/src/transformed_command.rb +39 -36
- data/projects/command_connectors/src/transformers/auth_errors_transformer.rb +2 -2
- data/projects/command_connectors/src/transformers/entity_to_primary_key_inputs_transformer.rb +2 -2
- data/projects/command_connectors/src/transformers/load_delegated_attributes_entities_pre_commit_transformer.rb +1 -1
- data/projects/domain_mapper/src/domain_mapper.rb +4 -4
- data/projects/domain_mapper/src/domain_mapper_lookups.rb +3 -3
- data/projects/entities/projects/detached_entity/lib/foobara/detached_entity.rb +1 -1
- data/projects/entities/projects/detached_entity/src/concerns/associations.rb +18 -18
- data/projects/entities/projects/detached_entity/src/concerns/initialization.rb +2 -2
- data/projects/entities/projects/detached_entity/src/concerns/primary_key.rb +4 -4
- data/projects/entities/projects/detached_entity/src/concerns/types.rb +2 -2
- data/projects/entities/projects/detached_entity/src/detached_entity_type.rb +4 -4
- data/projects/entities/projects/detached_entity/src/extensions/builtin_types/detached_entity/casters/primary_key.rb +1 -1
- data/projects/entities/projects/detached_entity/src/extensions/builtin_types/detached_entity/validators/model_instance_is_valid.rb +2 -2
- data/projects/entities/projects/detached_entity/src/extensions/type_declarations/handlers/registered_type_declaration/validate_primary_key_present.rb +30 -0
- data/projects/entities/projects/detached_entity/src/remove_sensitive_values_transformer_extensions.rb +2 -2
- data/projects/entities/projects/entity/lib/foobara/entity.rb +1 -1
- data/projects/entities/projects/entity/src/concerns/attributes.rb +6 -6
- data/projects/entities/projects/entity/src/concerns/callbacks.rb +1 -1
- data/projects/entities/projects/entity/src/concerns/initialization.rb +8 -8
- data/projects/entities/projects/entity/src/concerns/mutations.rb +4 -4
- data/projects/entities/projects/entity/src/concerns/persistence.rb +3 -3
- data/projects/entities/projects/entity/src/concerns/queries.rb +7 -7
- data/projects/entities/projects/entity/src/extensions/domain/domain_module_extension.rb +4 -4
- data/projects/entities/projects/entity/src/new_prepend.rb +2 -2
- data/projects/entities/projects/entity/src/not_found_error.rb +8 -8
- data/projects/entities/projects/entity/src/sensitive_value_removers/entity.rb +8 -5
- data/projects/entities/projects/in_memory_crud_driver_minimal/src/in_memory_minimal.rb +4 -4
- data/projects/entities/projects/model_attribute_helpers/lib/foobara/model_attribute_helpers.rb +0 -2
- data/projects/entities/projects/model_attribute_helpers/src/attribute_helper_aliases.rb +1 -1
- data/projects/entities/projects/model_attribute_helpers/src/attribute_helpers.rb +2 -2
- data/projects/entities/projects/nested_transactionable/lib/foobara/nested_transactionable.rb +5 -5
- data/projects/entities/projects/persistence/lib/foobara/persistence.rb +1 -1
- data/projects/entities/projects/persistence/src/entity_attributes_crud_driver.rb +35 -37
- data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/entity_callback_handling.rb +25 -25
- data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/state_transitions.rb +8 -8
- data/projects/entities/projects/persistence/src/entity_base/transaction/concerns/transaction_tracking.rb +1 -1
- data/projects/entities/projects/persistence/src/entity_base/transaction.rb +9 -9
- data/projects/entities/projects/persistence/src/entity_base/transaction_table/concerns/record_tracking.rb +4 -4
- data/projects/entities/projects/persistence/src/entity_base/transaction_table.rb +52 -52
- data/projects/entities/projects/persistence/src/entity_base.rb +7 -7
- data/projects/entities/projects/persistence/src/persistence.rb +23 -23
- data/projects/entities/projects/weak_object_set/src/weak_object_set.rb +16 -16
- data/projects/entities_plumbing/lib/foobara/entities_plumbing.rb +6 -2
- data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entities.rb +21 -5
- data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_errors_type.rb +23 -0
- data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_inputs.rb +33 -0
- data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/entity_reflection.rb +39 -0
- data/projects/entities_plumbing/src/extensions/command_pattern_implementation/concerns/runtime.rb +39 -0
- data/projects/manifest/src/base_manifest.rb +9 -9
- data/projects/manifest/src/model.rb +4 -4
- data/projects/manifest/src/type.rb +3 -3
- data/projects/manifest/src/type_declaration.rb +4 -4
- data/projects/model_plumbing/lib/foobara/model_plumbing.rb +2 -0
- data/projects/model_plumbing/src/extensions/command_pattern_implementation/concerns/model_inputs_type.rb +35 -0
- data/projects/typesystem/projects/builtin_types/lib/foobara/builtin_types.rb +2 -1
- data/projects/typesystem/projects/builtin_types/src/builtin_types.rb +8 -8
- 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
- data/projects/typesystem/projects/builtin_types/src/email/validator_base.rb +4 -4
- data/projects/typesystem/projects/callback/src/block/concerns/block_parameter_required.rb +2 -2
- data/projects/typesystem/projects/callback/src/block/concerns/keyword_argumentable_block.rb +2 -2
- data/projects/typesystem/projects/callback/src/block/concerns/single_argument_block.rb +2 -2
- data/projects/typesystem/projects/callback/src/block.rb +4 -4
- data/projects/typesystem/projects/callback/src/registry/base.rb +10 -10
- data/projects/typesystem/projects/callback/src/registry/conditioned.rb +2 -2
- data/projects/typesystem/projects/callback/src/registry/multiple_action.rb +6 -6
- data/projects/typesystem/projects/callback/src/runner.rb +4 -4
- data/projects/typesystem/projects/callback/src/set.rb +4 -4
- data/projects/typesystem/projects/common/src/data_path.rb +14 -14
- data/projects/typesystem/projects/common/src/error.rb +11 -11
- data/projects/typesystem/projects/common/src/error_collection.rb +14 -14
- data/projects/typesystem/projects/common/src/error_key.rb +5 -3
- data/projects/typesystem/projects/common/src/outcome.rb +5 -5
- data/projects/typesystem/projects/common/src/possible_error.rb +2 -2
- data/projects/typesystem/projects/concerns/src/concern.rb +3 -3
- data/projects/typesystem/projects/delegate/src/extensions/module.rb +4 -4
- data/projects/typesystem/projects/domain/lib/foobara/domain.rb +2 -2
- data/projects/typesystem/projects/domain/src/domain.rb +5 -5
- data/projects/typesystem/projects/domain/src/domain_module_extension.rb +22 -22
- data/projects/typesystem/projects/domain/src/extensions/foobara.rb +14 -6
- data/projects/typesystem/projects/domain/src/module_extension.rb +4 -4
- data/projects/typesystem/projects/domain/src/organization.rb +6 -6
- data/projects/typesystem/projects/enumerated/src/accessors.rb +4 -4
- data/projects/typesystem/projects/enumerated/src/values.rb +14 -14
- data/projects/{entities → typesystem}/projects/model/lib/foobara/model.rb +1 -1
- data/projects/{entities → typesystem}/projects/model/src/concerns/classes.rb +4 -4
- data/projects/{entities → typesystem}/projects/model/src/concerns/types.rb +5 -5
- data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/casters/hash.rb +1 -1
- data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/attributes_handler_desugarizer.rb +2 -2
- data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/model_class_desugarizer.rb +6 -6
- data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/to_type_transformer.rb +4 -4
- data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration.rb +2 -2
- data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/registered_type_declaration/model_class_desugarizer.rb +6 -10
- data/projects/{entities → typesystem}/projects/model/src/model.rb +13 -13
- data/projects/{entities → typesystem}/projects/model/src/sensitive_value_removers/model.rb +1 -1
- data/projects/typesystem/projects/namespace/src/ambiguous_registry.rb +5 -5
- data/projects/typesystem/projects/namespace/src/base_registry.rb +8 -8
- data/projects/typesystem/projects/namespace/src/is_namespace.rb +19 -19
- data/projects/typesystem/projects/namespace/src/namespace/lookup_mode.rb +2 -2
- data/projects/typesystem/projects/namespace/src/namespace.rb +5 -5
- data/projects/typesystem/projects/namespace/src/namespace_helpers.rb +4 -4
- data/projects/typesystem/projects/namespace/src/prefixless_registry.rb +3 -3
- data/projects/typesystem/projects/namespace/src/scoped.rb +7 -7
- data/projects/typesystem/projects/project/src/foobara.rb +13 -7
- data/projects/typesystem/projects/project/src/project.rb +1 -1
- data/projects/typesystem/projects/state_machine/src/callbacks.rb +14 -14
- data/projects/typesystem/projects/state_machine/src/state_machine.rb +2 -2
- data/projects/typesystem/projects/state_machine/src/sugar.rb +3 -3
- data/projects/typesystem/projects/type_declarations/lib/foobara/type_declarations.rb +1 -1
- data/projects/typesystem/projects/type_declarations/src/attributes.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/attributes_transformers/from_yaml.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/attributes_transformers/only.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/attributes_transformers/reject.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/attributes_transformers/set.rb +4 -4
- data/projects/typesystem/projects/type_declarations/src/desugarizer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/dsl/attributes.rb +9 -9
- data/projects/typesystem/projects/type_declarations/src/error_extension.rb +6 -6
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/array_desugarizer.rb +3 -3
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/element_type_declaration_desugarizer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_array_type_declaration/type_set_to_array_desugarizer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_attributes_type_declaration/element_type_declarations_desugarizer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_registered_type_declaration/to_type_transformer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_registered_type_declaration.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/extend_tuple_type_declaration/array_desugarizer.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/handlers/registered_type_declaration.rb +4 -3
- data/projects/typesystem/projects/type_declarations/src/remove_sensitive_values_transformer.rb +3 -3
- data/projects/typesystem/projects/type_declarations/src/type_builder.rb +5 -5
- data/projects/typesystem/projects/type_declarations/src/type_declaration.rb +7 -1
- data/projects/typesystem/projects/type_declarations/src/type_declaration_handler.rb +13 -13
- data/projects/typesystem/projects/type_declarations/src/type_declaration_handler_registry.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/type_declaration_validator.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/type_declarations.rb +2 -2
- data/projects/typesystem/projects/type_declarations/src/with_registries.rb +2 -2
- data/projects/typesystem/projects/types/lib/foobara/types.rb +0 -2
- data/projects/typesystem/projects/types/src/extensions/error.rb +5 -5
- data/projects/typesystem/projects/types/src/type/concerns/reflection.rb +22 -22
- data/projects/typesystem/projects/types/src/type/concerns/supported_processor_registration.rb +4 -4
- data/projects/typesystem/projects/types/src/type.rb +25 -25
- data/projects/typesystem/projects/value/src/caster.rb +11 -11
- data/projects/typesystem/projects/value/src/data_error.rb +1 -1
- data/projects/typesystem/projects/value/src/mutator.rb +3 -3
- data/projects/typesystem/projects/value/src/processor/casting.rb +6 -6
- data/projects/typesystem/projects/value/src/processor/pipeline.rb +2 -2
- data/projects/typesystem/projects/value/src/processor/runner.rb +1 -1
- data/projects/typesystem/projects/value/src/processor/selection.rb +3 -3
- data/projects/typesystem/projects/value/src/processor.rb +23 -23
- data/projects/typesystem/projects/value/src/transformer.rb +5 -5
- data/projects/typesystem/projects/value/src/validator.rb +3 -3
- data/version.rb +2 -2
- metadata +44 -160
- data/projects/command_connectors/Guardfile +0 -6
- data/projects/command_connectors/spec/allowed_rules_spec.rb +0 -77
- data/projects/command_connectors/spec/ambiguous_lookups_spec.rb +0 -143
- data/projects/command_connectors/spec/auth_mappers_spec.rb +0 -201
- data/projects/command_connectors/spec/command_connector_spec.rb +0 -2460
- data/projects/command_connectors/spec/command_registry_spec.rb +0 -9
- data/projects/command_connectors/spec/commands/describe_spec.rb +0 -83
- data/projects/command_connectors/spec/commands/ping_spec.rb +0 -14
- data/projects/command_connectors/spec/commands/query_git_commit_info_spec.rb +0 -55
- data/projects/command_connectors/spec/fixtures/command_connectors/manifest_with_errors_with_missing_command_parents.yaml +0 -1662
- data/projects/command_connectors/spec/not_found_error_spec.rb +0 -17
- data/projects/command_connectors/spec/pre_commit_transformers/load_atoms_pre_commit_transformer_spec.rb +0 -108
- data/projects/command_connectors/spec/request_spec.rb +0 -118
- data/projects/command_connectors/spec/serializer_spec.rb +0 -9
- data/projects/command_connectors/spec/serializers/aggregate_serializer_spec.rb +0 -45
- data/projects/command_connectors/spec/serializers/atomic_serializer_spec.rb +0 -68
- data/projects/command_connectors/spec/serializers/entities_to_primary_keys_serializer_spec.rb +0 -36
- data/projects/command_connectors/spec/serializers/json_serializer_spec.rb +0 -22
- data/projects/command_connectors/spec/serializers/noop_serializer_spec.rb +0 -22
- data/projects/command_connectors/spec/serializers/yaml_serializer_spec.rb +0 -22
- data/projects/command_connectors/spec/spec_helper.rb +0 -56
- data/projects/command_connectors/spec/support/rubyprof.rb +0 -32
- data/projects/command_connectors/spec/support/term_trap.rb +0 -6
- data/projects/command_connectors/spec/transformers/entity_to_primary_key_inputs_transformer_spec.rb +0 -119
- data/projects/entities/Guardfile +0 -6
- data/projects/entities/spec/builtin_types/detached_entity_spec.rb +0 -300
- data/projects/entities/spec/builtin_types/entity_spec.rb +0 -501
- data/projects/entities/spec/builtin_types/model_spec.rb +0 -420
- data/projects/entities/spec/detached_entity/casting_spec.rb +0 -31
- data/projects/entities/spec/entity/concerns/associations_spec.rb +0 -73
- data/projects/entities/spec/entity/concerns/attribute_helpers_spec.rb +0 -220
- data/projects/entities/spec/entity/concerns/callbacks_spec.rb +0 -61
- data/projects/entities/spec/entity/concerns/initialization_spec.rb +0 -213
- data/projects/entities/spec/entity/concerns/mutations_spec.rb +0 -38
- data/projects/entities/spec/entity/concerns/queries_spec.rb +0 -184
- data/projects/entities/spec/entity/entity_spec.rb +0 -240
- data/projects/entities/spec/entity/extending_existing_spec.rb +0 -137
- data/projects/entities/spec/entity/extensions/domain_module_extension_spec.rb +0 -42
- data/projects/entities/spec/entity/from_type_declaration_spec.rb +0 -34
- data/projects/entities/spec/entity/that_owns_spec.rb +0 -243
- data/projects/entities/spec/entity/weak_object_set_spec.rb +0 -91
- data/projects/entities/spec/model/model_spec.rb +0 -135
- data/projects/entities/spec/model/types_spec.rb +0 -397
- data/projects/entities/spec/nested_transactionable/nested_transactionable_spec.rb +0 -67
- data/projects/entities/spec/persistence/entity_attributes_crud_drivers/in_memory_minimal_spec.rb +0 -13
- data/projects/entities/spec/persistence/entity_base/transaction_spec.rb +0 -509
- data/projects/entities/spec/persistence/entity_base/transaction_table_spec.rb +0 -58
- data/projects/entities/spec/persistence/persistence_spec.rb +0 -148
- data/projects/entities/spec/spec_helper.rb +0 -54
- data/projects/entities/spec/support/rubyprof.rb +0 -32
- data/projects/entities/spec/support/term_trap.rb +0 -6
- data/projects/entities/spec/type_declarations/sensitive_type_removers_spec.rb +0 -90
- data/projects/entities_plumbing/Guardfile +0 -6
- data/projects/entities_plumbing/spec/auth_mappers_spec.rb +0 -159
- data/projects/entities_plumbing/spec/spec_helper.rb +0 -55
- data/projects/entities_plumbing/spec/support/rubyprof.rb +0 -32
- data/projects/entities_plumbing/spec/support/term_trap.rb +0 -6
- data/projects/entities_plumbing/spec/transaction_spec.rb +0 -534
- data/projects/manifest/Guardfile +0 -6
- data/projects/manifest/spec/associations_spec.rb +0 -67
- data/projects/manifest/spec/manifest_spec.rb +0 -382
- data/projects/manifest/spec/model_spec.rb +0 -126
- data/projects/manifest/spec/spec_helper.rb +0 -54
- data/projects/manifest/spec/type_declaration_spec.rb +0 -39
- data/projects/manifest/spec/type_spec.rb +0 -30
- data/projects/typesystem/spec/builtin_types/allow_nil_spec.rb +0 -138
- data/projects/typesystem/spec/builtin_types/array_spec.rb +0 -140
- data/projects/typesystem/spec/builtin_types/associative_array_spec.rb +0 -228
- data/projects/typesystem/spec/builtin_types/attributes_spec.rb +0 -490
- data/projects/typesystem/spec/builtin_types/big_decimal_spec.rb +0 -42
- data/projects/typesystem/spec/builtin_types/boolean_spec.rb +0 -43
- data/projects/typesystem/spec/builtin_types/class_type_desugarizer_spec.rb +0 -17
- data/projects/typesystem/spec/builtin_types/custom_type_spec.rb +0 -430
- data/projects/typesystem/spec/builtin_types/date_spec.rb +0 -37
- data/projects/typesystem/spec/builtin_types/datetime_spec.rb +0 -49
- data/projects/typesystem/spec/builtin_types/email_spec.rb +0 -44
- data/projects/typesystem/spec/builtin_types/float_spec.rb +0 -59
- data/projects/typesystem/spec/builtin_types/instance_of_spec.rb +0 -75
- data/projects/typesystem/spec/builtin_types/one_of_spec.rb +0 -73
- data/projects/typesystem/spec/builtin_types/string_spec.rb +0 -117
- data/projects/typesystem/spec/builtin_types/symbol_spec.rb +0 -24
- data/projects/typesystem/spec/builtin_types/tuple_spec.rb +0 -125
- data/projects/typesystem/spec/callback/callback_spec.rb +0 -155
- data/projects/typesystem/spec/callback/registry/conditioned_spec.rb +0 -152
- data/projects/typesystem/spec/callback/registry/multiple_action_spec.rb +0 -144
- data/projects/typesystem/spec/callback/registry/single_action_spec.rb +0 -114
- data/projects/typesystem/spec/common/data_path_spec.rb +0 -268
- data/projects/typesystem/spec/common/error_collection_spec.rb +0 -77
- data/projects/typesystem/spec/common/error_key_spec.rb +0 -56
- data/projects/typesystem/spec/common/outcome_spec.rb +0 -65
- data/projects/typesystem/spec/common/possible_error_spec.rb +0 -17
- data/projects/typesystem/spec/concerns/concern_spec.rb +0 -122
- data/projects/typesystem/spec/enumerated/accessors_spec.rb +0 -182
- data/projects/typesystem/spec/enumerated/enumerated_spec.rb +0 -32
- data/projects/typesystem/spec/enumerated/values_spec.rb +0 -67
- data/projects/typesystem/spec/foobara/foobara_spec.rb +0 -45
- data/projects/typesystem/spec/namespace/ambiguous_registry_spec.rb +0 -70
- data/projects/typesystem/spec/namespace/foobara_simulation_spec.rb +0 -254
- data/projects/typesystem/spec/namespace/is_namespace_spec.rb +0 -103
- data/projects/typesystem/spec/namespace/namespace_helpers_spec.rb +0 -67
- data/projects/typesystem/spec/namespace/namespace_spec.rb +0 -335
- data/projects/typesystem/spec/namespace/prefixless_registry_spec.rb +0 -30
- data/projects/typesystem/spec/namespace/unambiguous_registry_spec.rb +0 -50
- data/projects/typesystem/spec/spec_helper.rb +0 -52
- data/projects/typesystem/spec/state_machine/callbacks_spec.rb +0 -144
- data/projects/typesystem/spec/state_machine/state_machine_spec.rb +0 -224
- data/projects/typesystem/spec/state_machine/target_attribute_spec.rb +0 -46
- data/projects/typesystem/spec/support/rubyprof.rb +0 -32
- data/projects/typesystem/spec/support/term_trap.rb +0 -6
- data/projects/typesystem/spec/type_declarations/attributes_spec.rb +0 -14
- data/projects/typesystem/spec/type_declarations/attributes_transformer_spec.rb +0 -95
- data/projects/typesystem/spec/type_declarations/dsl/attributes_spec.rb +0 -107
- data/projects/typesystem/spec/type_declarations/handlers/extend_registered_type_declaration_spec.rb +0 -13
- data/projects/typesystem/spec/type_declarations/sensitive_type_removers_spec.rb +0 -210
- data/projects/typesystem/spec/type_declarations/type_builder_spec.rb +0 -47
- data/projects/typesystem/spec/type_declarations/type_declaration_spec.rb +0 -252
- data/projects/typesystem/spec/type_declarations/type_declarations_spec.rb +0 -11
- data/projects/typesystem/spec/type_declarations/typed_transformer_spec.rb +0 -65
- data/projects/typesystem/spec/types/sensitive_spec.rb +0 -36
- data/projects/typesystem/spec/types/type_spec.rb +0 -102
- data/projects/typesystem/spec/value/caster_spec.rb +0 -23
- data/projects/typesystem/spec/value/processor/runner_spec.rb +0 -34
- data/projects/typesystem/spec/value/processor/selection_spec.rb +0 -71
- data/projects/typesystem/spec/value/processor_spec.rb +0 -76
- data/projects/typesystem/spec/value/transformer_spec.rb +0 -27
- /data/projects/{command/src → entities_plumbing/src/extensions}/command_pattern_implementation/concerns/transactions.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/concerns/aliases.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/concerns/reflection.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/supported_transformers/mutable.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/builtin_types/model/validators/model_instance_is_valid.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/array_with_symbolic_elements.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/delegates_desugarizer.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/delegates_validator.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/hash_desugarizer.rb +0 -0
- /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
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/symbolize_private.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration/valid_attribute_names.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_model_type_declaration.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/hash_desugarizer.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/model_class_type_desugarizer.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/mutable_validator.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/normalize_mutable_attributes_desugarizer.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/handlers/extend_registered_model_type_declaration/to_type_transformer.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/extensions/type_declarations/lazy_element_types/model.rb +0 -0
- /data/projects/{entities → typesystem}/projects/model/src/sensitive_type_removers/extended_model.rb +0 -0
- /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
|
-
# :
|
|
81
|
+
# simplecov:disable
|
|
82
82
|
raise "Bad error name for #{self.class.name}"
|
|
83
|
-
# :
|
|
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
|
-
# :
|
|
125
|
-
raise
|
|
126
|
-
# :
|
|
124
|
+
# simplecov:disable
|
|
125
|
+
raise NotImplementedError
|
|
126
|
+
# simplecov:enable
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
def all(page_size: nil)
|
|
130
|
-
# :
|
|
131
|
-
raise
|
|
132
|
-
# :
|
|
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
|
-
# :
|
|
141
|
-
raise
|
|
142
|
-
# :
|
|
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]&.
|
|
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
|
-
# :
|
|
232
|
-
raise
|
|
233
|
-
# :
|
|
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
|
-
# :
|
|
236
|
+
# simplecov:disable
|
|
239
237
|
attributes_array.each.lazy.map do |attributes|
|
|
240
238
|
insert(attributes)
|
|
241
239
|
end
|
|
242
|
-
# :
|
|
240
|
+
# simplecov:enable
|
|
243
241
|
end
|
|
244
242
|
|
|
245
243
|
def update(_record)
|
|
246
|
-
# :
|
|
247
|
-
raise
|
|
248
|
-
# :
|
|
244
|
+
# simplecov:disable
|
|
245
|
+
raise NotImplementedError
|
|
246
|
+
# simplecov:enable
|
|
249
247
|
end
|
|
250
248
|
|
|
251
249
|
def hard_delete(_record_id)
|
|
252
|
-
# :
|
|
253
|
-
raise
|
|
254
|
-
# :
|
|
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
|
-
# :
|
|
257
|
+
# simplecov:disable
|
|
260
258
|
record_ids.each.lazy.map do |record_id|
|
|
261
259
|
delete(record_id)
|
|
262
260
|
end
|
|
263
|
-
# :
|
|
261
|
+
# simplecov:enable
|
|
264
262
|
end
|
|
265
263
|
|
|
266
264
|
def hard_delete_all!
|
|
267
|
-
# :
|
|
268
|
-
raise
|
|
269
|
-
# :
|
|
265
|
+
# simplecov:disable
|
|
266
|
+
raise NotImplementedError
|
|
267
|
+
# simplecov:enable
|
|
270
268
|
end
|
|
271
269
|
|
|
272
270
|
def count
|
|
273
|
-
# :
|
|
274
|
-
raise
|
|
275
|
-
# :
|
|
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
|
-
# :
|
|
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
|
-
# :
|
|
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
|
-
# :
|
|
334
|
+
# simplecov:disable
|
|
337
335
|
object
|
|
338
|
-
# :
|
|
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!
|
|
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
|
-
# :
|
|
28
|
+
# simplecov:disable
|
|
29
29
|
raise CurrentTransactionIsClosedError,
|
|
30
30
|
"Cannot modify #{record} because current transaction is not open"
|
|
31
|
-
# :
|
|
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
|
-
# :
|
|
41
|
+
# simplecov:disable
|
|
42
42
|
raise NoCurrentTransactionError,
|
|
43
43
|
"Cannot modify #{record} because there's no current transaction"
|
|
44
|
-
# :
|
|
44
|
+
# simplecov:enable
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
unless transaction.open?
|
|
48
|
-
# :
|
|
48
|
+
# simplecov:disable
|
|
49
49
|
raise CurrentTransactionIsClosedError,
|
|
50
50
|
"Cannot modify #{record} because current transaction is not open"
|
|
51
|
-
# :
|
|
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
|
-
# :
|
|
61
|
+
# simplecov:disable
|
|
62
62
|
raise NoCurrentTransactionError,
|
|
63
63
|
"Cannot modify #{record} because there's no current transaction"
|
|
64
|
-
# :
|
|
64
|
+
# simplecov:enable
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
unless transaction.open?
|
|
68
|
-
# :
|
|
68
|
+
# simplecov:disable
|
|
69
69
|
raise CurrentTransactionIsClosedError,
|
|
70
70
|
"Cannot modify #{record} because current transaction is not open"
|
|
71
|
-
# :
|
|
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
|
-
# :
|
|
81
|
+
# simplecov:disable
|
|
82
82
|
raise NoCurrentTransactionError,
|
|
83
83
|
"Cannot modify #{record} because there's no current transaction"
|
|
84
|
-
# :
|
|
84
|
+
# simplecov:enable
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
unless transaction.open?
|
|
88
|
-
# :
|
|
88
|
+
# simplecov:disable
|
|
89
89
|
raise CurrentTransactionIsClosedError,
|
|
90
90
|
"Cannot modify #{record} because current transaction is not open"
|
|
91
|
-
# :
|
|
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
|
-
# :
|
|
100
|
+
# simplecov:disable
|
|
101
101
|
raise NoCurrentTransactionError,
|
|
102
102
|
"Cannot initialize #{record} because there's no current transaction"
|
|
103
|
-
# :
|
|
103
|
+
# simplecov:enable
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
unless transaction.open?
|
|
107
|
-
# :
|
|
107
|
+
# simplecov:disable
|
|
108
108
|
raise CurrentTransactionIsClosedError,
|
|
109
109
|
"Cannot initialize #{record} because current transaction is not open"
|
|
110
|
-
# :
|
|
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
|
-
# :
|
|
125
|
+
# simplecov:disable
|
|
126
126
|
raise CurrentTransactionIsClosedError,
|
|
127
127
|
"Cannot initialize #{record} because current transaction is not open"
|
|
128
|
-
# :
|
|
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
|
-
# :
|
|
138
|
+
# simplecov:disable
|
|
139
139
|
raise NoCurrentTransactionError,
|
|
140
140
|
"Cannot initialize #{record} because there's no current transaction"
|
|
141
|
-
# :
|
|
141
|
+
# simplecov:enable
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
unless transaction.open?
|
|
145
|
-
# :
|
|
145
|
+
# simplecov:disable
|
|
146
146
|
raise CurrentTransactionIsClosedError,
|
|
147
147
|
"Cannot initialize #{record} because current transaction is not open"
|
|
148
|
-
# :
|
|
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
|
-
# :
|
|
35
|
+
# simplecov:disable
|
|
36
36
|
rollback!(e)
|
|
37
37
|
raise
|
|
38
|
-
# :
|
|
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
|
-
# :
|
|
49
|
+
# simplecov:disable
|
|
50
50
|
rollback!(e)
|
|
51
51
|
raise
|
|
52
|
-
# :
|
|
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
|
-
# :
|
|
65
|
+
# simplecov:disable
|
|
66
66
|
rollback!(e)
|
|
67
67
|
raise
|
|
68
|
-
# :
|
|
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
|
-
# :
|
|
78
|
+
# simplecov:disable
|
|
79
79
|
rollback!(e)
|
|
80
80
|
raise
|
|
81
|
-
# :
|
|
81
|
+
# simplecov:enable
|
|
82
82
|
end
|
|
83
83
|
|
|
84
84
|
# TODO: this belongs elsewhere
|
|
@@ -58,9 +58,9 @@ module Foobara
|
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
unless entity_base == entity_class.entity_base
|
|
61
|
-
# :
|
|
61
|
+
# simplecov:disable
|
|
62
62
|
raise "#{entity_class} is from a different entity base! Cannot proceed."
|
|
63
|
-
# :
|
|
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
|
-
# :
|
|
73
|
+
# simplecov:disable
|
|
74
74
|
remove_instance_variable(:@ordered_tables)
|
|
75
|
-
# :
|
|
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
|
-
# :
|
|
105
|
+
# simplecov:disable
|
|
106
106
|
raise ArgumentError, "Do not give a record_id when also giving a record"
|
|
107
|
-
# :
|
|
107
|
+
# simplecov:enable
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
record_or_entity_class
|
|
111
111
|
else
|
|
112
112
|
unless record_id
|
|
113
|
-
# :
|
|
113
|
+
# simplecov:disable
|
|
114
114
|
raise ArgumentError, "Must give a record_id when passing in an entity class"
|
|
115
|
-
# :
|
|
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])
|
|
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
|
-
# :
|
|
19
|
+
# simplecov:disable
|
|
20
20
|
raise "Already loading #{record}"
|
|
21
|
-
# :
|
|
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
|
-
# :
|
|
72
|
+
# simplecov:disable
|
|
73
73
|
raise "Cannot update a hard deleted record"
|
|
74
|
-
# :
|
|
74
|
+
# simplecov:enable
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
unless created?(record)
|