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
@@ -64,11 +64,11 @@ module Foobara
64
64
 
65
65
  domain_module.foobara_depends_on.each do |domain_name|
66
66
  # TODO: test this code path!!
67
- # :nocov:
67
+ # simplecov:disable
68
68
  unless foobara_domain_registered?(domain_name)
69
69
  build_and_register_exposed_domain(domain_name)
70
70
  end
71
- # :nocov:
71
+ # simplecov:enable
72
72
  end
73
73
 
74
74
  exposed_domain
@@ -81,10 +81,10 @@ module Foobara
81
81
 
82
82
  def global_organization
83
83
  # TODO: test this
84
- # :nocov:
84
+ # simplecov:disable
85
85
  foobara_lookup_organization("", mode: Namespace::LookupMode::ABSOLUTE_SINGLE_NAMESPACE) ||
86
86
  build_and_register_exposed_organization("")
87
- # :nocov:
87
+ # simplecov:enable
88
88
  end
89
89
 
90
90
  def build_and_register_exposed_organization(full_organization_name)
@@ -121,9 +121,9 @@ module Foobara
121
121
  allowed_rule = to_allowed_rule(*)
122
122
 
123
123
  unless allowed_rule.symbol
124
- # :nocov:
124
+ # simplecov:disable
125
125
  raise "Cannot register a rule without a symbol"
126
- # :nocov:
126
+ # simplecov:enable
127
127
  end
128
128
 
129
129
  allowed_rule_registry[allowed_rule.symbol] = allowed_rule
@@ -204,13 +204,19 @@ module Foobara
204
204
  end
205
205
  end
206
206
 
207
+ # Why are we calling this _name instead of _reference??
208
+ def create_exposed_domain_if_needed(full_domain_name)
209
+ foobara_lookup_domain(
210
+ full_domain_name,
211
+ mode: Namespace::LookupMode::ABSOLUTE_SINGLE_NAMESPACE
212
+ ) || build_and_register_exposed_domain(full_domain_name)
213
+ end
214
+
207
215
  private
208
216
 
209
217
  def create_exposed_command(command_class, **opts)
210
218
  full_domain_name = command_class.domain.scoped_full_name
211
- exposed_domain = foobara_lookup_domain(full_domain_name,
212
- mode: Namespace::LookupMode::ABSOLUTE_SINGLE_NAMESPACE) ||
213
- build_and_register_exposed_domain(full_domain_name)
219
+ exposed_domain = create_exposed_domain_if_needed(full_domain_name)
214
220
 
215
221
  if !opts.key?(:allowed_rule) && allow&.key?(command_class)
216
222
  opts = opts.merge(allowed_rule: allow[command_class])
@@ -226,13 +232,13 @@ module Foobara
226
232
  def to_allowed_rule(*args)
227
233
  symbol, object = case args.size
228
234
  when 1
229
- [nil, args.first]
235
+ [nil, args[0]]
230
236
  when 2
231
237
  args
232
238
  else
233
- # :nocov:
239
+ # simplecov:disable
234
240
  raise ArgumentError, "Expected 1 or 2 arguments, got #{args.size}"
235
- # :nocov:
241
+ # simplecov:enable
236
242
  end
237
243
 
238
244
  case object
@@ -240,9 +246,9 @@ module Foobara
240
246
  object
241
247
  when ::String
242
248
  if symbol
243
- # :nocov:
249
+ # simplecov:disable
244
250
  raise ArgumentError, "Was not expecting a symbol and a string"
245
- # :nocov:
251
+ # simplecov:enable
246
252
  end
247
253
 
248
254
  to_allowed_rule(object.to_sym)
@@ -250,9 +256,9 @@ module Foobara
250
256
  allowed_rule = allowed_rule_registry[object]
251
257
 
252
258
  unless allowed_rule
253
- # :nocov:
259
+ # simplecov:disable
254
260
  raise "No allowed rule found for #{object}"
255
- # :nocov:
261
+ # simplecov:enable
256
262
  end
257
263
 
258
264
  allowed_rule
@@ -292,9 +298,9 @@ module Foobara
292
298
  if object.respond_to?(:call)
293
299
  AllowedRule.new(symbol:, &object)
294
300
  else
295
- # :nocov:
301
+ # simplecov:disable
296
302
  raise "Not sure how to convert #{object} into an AllowedRule object"
297
- # :nocov:
303
+ # simplecov:enable
298
304
  end
299
305
  end.tap do |rule|
300
306
  rule.symbol ||= symbol
@@ -19,9 +19,9 @@ module Foobara
19
19
  if left.is_a?(::Hash) && right.is_a?(::Hash)
20
20
  # TODO: remove :nocov: once we have an only: and/or reject: desugarizer with a test that
21
21
  # merges them together.
22
- # :nocov:
22
+ # simplecov:disable
23
23
  left.merge(right)
24
- # :nocov:
24
+ # simplecov:enable
25
25
  else
26
26
  Util.array(left) + Util.array(right)
27
27
  end
@@ -5,15 +5,15 @@ module Foobara
5
5
  module Desugarizers
6
6
  class Attributes < Desugarizer
7
7
  def desugarizer_symbol
8
- # :nocov:
9
- raise "subclass responsibility"
10
- # :nocov:
8
+ # simplecov:disable
9
+ raise NotImplementedError
10
+ # simplecov:enable
11
11
  end
12
12
 
13
13
  def opts_key
14
- # :nocov:
15
- raise "subclass responsibility"
16
- # :nocov:
14
+ # simplecov:disable
15
+ raise NotImplementedError
16
+ # simplecov:enable
17
17
  end
18
18
 
19
19
  def applicable?(args_and_opts)
@@ -40,13 +40,13 @@ module Foobara
40
40
  transformers = transformers.map do |transformer|
41
41
  if transformer.is_a?(::Hash) && transformer.key?(desugarizer_symbol)
42
42
  params = transformer[desugarizer_symbol]
43
- AttributesTransformers.send(transformer_method, *params)
43
+ AttributesTransformers.__send__(transformer_method, *params)
44
44
  else
45
45
  transformer
46
46
  end
47
47
  end
48
48
 
49
- transformers = transformers.first unless is_array
49
+ transformers = transformers[0] unless is_array
50
50
 
51
51
  opts = opts.merge(opts_key => transformers)
52
52
 
@@ -3,7 +3,7 @@ module Foobara
3
3
  module Desugarizers
4
4
  class Auth < Desugarizer
5
5
  def applicable?(args_and_opts)
6
- args_and_opts.last.key?(:auth)
6
+ args_and_opts[-1].key?(:auth)
7
7
  end
8
8
 
9
9
  def desugarize(args_and_opts)
@@ -30,13 +30,13 @@ module Foobara
30
30
  AttributesTransformers.set(transformer[:set])
31
31
  else
32
32
  # TODO: add a test for this
33
- # :nocov:
33
+ # simplecov:disable
34
34
  transformer
35
- # :nocov:
35
+ # simplecov:enable
36
36
  end
37
37
  end
38
38
 
39
- transformers = transformers.first unless is_array
39
+ transformers = transformers[0] unless is_array
40
40
 
41
41
  opts = opts.merge(inputs_transformers: transformers)
42
42
 
@@ -20,9 +20,9 @@ module Foobara
20
20
  if arg.is_a?(::Symbol)
21
21
  new_opts[arg] = true
22
22
  else
23
- # :nocov:
23
+ # simplecov:disable
24
24
  raise "Was not expecting non-symbol arg: #{arg}"
25
- # :nocov:
25
+ # simplecov:enable
26
26
  end
27
27
  end
28
28
 
@@ -2,9 +2,9 @@ module Foobara
2
2
  module CommandConnectors
3
3
  class RequestMutator < Foobara::Value::Mutator
4
4
  def inputs_type_declaration_from(_inputs_type)
5
- # :nocov:
6
- raise "subclass responsibility"
7
- # :nocov:
5
+ # simplecov:disable
6
+ raise NotImplementedError
7
+ # simplecov:enable
8
8
  end
9
9
 
10
10
  def inputs_type_from(inputs_type)
@@ -13,9 +13,9 @@ module Foobara
13
13
  end
14
14
 
15
15
  def mutate
16
- # :nocov:
17
- raise "subclass responsibility"
18
- # :nocov:
16
+ # simplecov:disable
17
+ raise NotImplementedError
18
+ # simplecov:enable
19
19
  end
20
20
 
21
21
  alias request declaration_data
@@ -2,9 +2,9 @@ module Foobara
2
2
  module CommandConnectors
3
3
  class ResponseMutator < Foobara::Value::Mutator
4
4
  def result_type_declaration_from(_result_type)
5
- # :nocov:
6
- raise "subclass responsibility"
7
- # :nocov:
5
+ # simplecov:disable
6
+ raise NotImplementedError
7
+ # simplecov:enable
8
8
  end
9
9
 
10
10
  def result_type_from(result_type)
@@ -13,9 +13,9 @@ module Foobara
13
13
  end
14
14
 
15
15
  def mutate
16
- # :nocov:
17
- raise "subclass responsibility"
18
- # :nocov:
16
+ # simplecov:disable
17
+ raise NotImplementedError
18
+ # simplecov:enable
19
19
  end
20
20
 
21
21
  alias response declaration_data
@@ -19,6 +19,7 @@ module Foobara
19
19
  :request_mutators,
20
20
  :allowed_rule,
21
21
  :requires_authentication,
22
+ :authentication_optional,
22
23
  :authenticator,
23
24
  :subclassed_in_namespace,
24
25
  :suffix,
@@ -39,6 +40,7 @@ module Foobara
39
40
  allowed_rule:,
40
41
  requires_authentication:,
41
42
  authenticator:,
43
+ authentication_optional: nil,
42
44
  suffix: nil,
43
45
  capture_unknown_error: false
44
46
  )
@@ -56,6 +58,7 @@ module Foobara
56
58
  klass.request_mutators = Util.array(request_mutators)
57
59
  klass.allowed_rule = allowed_rule
58
60
  klass.requires_authentication = requires_authentication
61
+ klass.authentication_optional = authentication_optional
59
62
  klass.authenticator = authenticator
60
63
  klass.subclassed_in_namespace = scoped_namespace
61
64
  klass.suffix = suffix
@@ -63,15 +66,15 @@ module Foobara
63
66
  end
64
67
 
65
68
  def domain
66
- # :nocov:
69
+ # simplecov:disable
67
70
  command_class.domain
68
- # :nocov:
71
+ # simplecov:enable
69
72
  end
70
73
 
71
74
  def organization
72
- # :nocov:
75
+ # simplecov:disable
73
76
  command_class.organization
74
- # :nocov:
77
+ # simplecov:enable
75
78
  end
76
79
 
77
80
  def description
@@ -307,9 +310,9 @@ module Foobara
307
310
  if type.registered?
308
311
  # TODO: if we ever change from attributes-only inputs type
309
312
  # then this will be handy
310
- # :nocov:
313
+ # simplecov:disable
311
314
  types |= [type]
312
- # :nocov:
315
+ # simplecov:enable
313
316
  end
314
317
 
315
318
  types |= type.types_depended_on
@@ -321,9 +324,9 @@ module Foobara
321
324
  if type.registered?
322
325
  # TODO: if we ever change from attributes-only inputs type
323
326
  # then this will be handy
324
- # :nocov:
327
+ # simplecov:disable
325
328
  types |= [type]
326
- # :nocov:
329
+ # simplecov:enable
327
330
  end
328
331
 
329
332
  types |= type.types_depended_on
@@ -447,7 +450,7 @@ module Foobara
447
450
  end
448
451
 
449
452
  @inputs_transformer = if transformers.size == 1
450
- transformers.first
453
+ transformers[0]
451
454
  else
452
455
  Value::Processor::Pipeline.new(processors: transformers)
453
456
  end
@@ -468,7 +471,7 @@ module Foobara
468
471
  transformers = transformers_to_processors(response_mutators, result_type_from_transformers, direction: :from)
469
472
 
470
473
  if transformers.size == 1
471
- transformers.first
474
+ transformers[0]
472
475
  else
473
476
  Value::Processor::Pipeline.new(processors: transformers)
474
477
  end
@@ -490,7 +493,7 @@ module Foobara
490
493
  transformers = transformers_to_processors(request_mutators, inputs_type_from_transformers, direction: :to)
491
494
 
492
495
  if transformers.size == 1
493
- transformers.first
496
+ transformers[0]
494
497
  else
495
498
  Value::Processor::Pipeline.new(processors: transformers)
496
499
  end
@@ -515,7 +518,7 @@ module Foobara
515
518
  transformers = transformers_to_processors(result_transformers, command_class.result_type, direction: :from)
516
519
 
517
520
  if transformers.size == 1
518
- transformers.first
521
+ transformers[0]
519
522
  else
520
523
  Value::Processor::Pipeline.new(processors: transformers)
521
524
  end
@@ -540,9 +543,9 @@ module Foobara
540
543
  elsif transformer.respond_to?(:call)
541
544
  Value::Transformer.create(transform: transformer)
542
545
  else
543
- # :nocov:
546
+ # simplecov:disable
544
547
  raise "Not sure how to apply #{transformer}"
545
- # :nocov:
548
+ # simplecov:enable
546
549
  end
547
550
  end
548
551
  end
@@ -575,7 +578,7 @@ module Foobara
575
578
  klass.foobara_manifest_reference
576
579
  # TODO: Delete this nocov block
577
580
  # TODO: make anonymous scoped path's have better names instead of random hexadecimal
578
- # :nocov:
581
+ # simplecov:disable
579
582
  elsif processor.respond_to?(:symbol) && processor.symbol
580
583
  processor.symbol
581
584
  else
@@ -587,14 +590,14 @@ module Foobara
587
590
  end
588
591
 
589
592
  "Anonymous#{Util.non_full_name(name)}"
590
- # :nocov:
593
+ # simplecov:enable
591
594
  end
592
595
  elsif processor.is_a?(::Proc)
593
596
  "Proc"
594
597
  else
595
- # :nocov:
598
+ # simplecov:disable
596
599
  "Unknown"
597
- # :nocov:
600
+ # simplecov:enable
598
601
  end
599
602
  end
600
603
  end
@@ -610,15 +613,15 @@ module Foobara
610
613
  end
611
614
 
612
615
  def full_command_name
613
- # :nocov:
616
+ # simplecov:disable
614
617
  self.class.full_command_name
615
- # :nocov:
618
+ # simplecov:enable
616
619
  end
617
620
 
618
621
  def command_name
619
- # :nocov:
622
+ # simplecov:disable
620
623
  self.class.command_name
621
- # :nocov:
624
+ # simplecov:enable
622
625
  end
623
626
 
624
627
  def command_class
@@ -630,15 +633,15 @@ module Foobara
630
633
  end
631
634
 
632
635
  def inputs_transformers
633
- # :nocov:
636
+ # simplecov:disable
634
637
  self.class.inputs_transformers
635
- # :nocov:
638
+ # simplecov:enable
636
639
  end
637
640
 
638
641
  def result_transformers
639
- # :nocov:
642
+ # simplecov:disable
640
643
  self.class.result_transformers
641
- # :nocov:
644
+ # simplecov:enable
642
645
  end
643
646
 
644
647
  def errors_transformers
@@ -729,7 +732,7 @@ module Foobara
729
732
  transformers = self.class.transformers_to_processors(serializers, nil, declaration_data: self)
730
733
 
731
734
  if transformers.size == 1
732
- transformers.first
735
+ transformers[0]
733
736
  else
734
737
  Value::Processor::Pipeline.new(processors: transformers)
735
738
  end
@@ -742,7 +745,7 @@ module Foobara
742
745
  declaration_data: self)
743
746
 
744
747
  if transformers.size == 1
745
- transformers.first
748
+ transformers[0]
746
749
  else
747
750
  Value::Processor::Pipeline.new(processors: transformers)
748
751
  end
@@ -759,7 +762,7 @@ module Foobara
759
762
  )
760
763
 
761
764
  if transformers.size == 1
762
- transformers.first
765
+ transformers[0]
763
766
  else
764
767
  Value::Processor::Pipeline.new(processors: transformers)
765
768
  end
@@ -790,11 +793,11 @@ module Foobara
790
793
  if auth_mapped_method?(method_name)
791
794
  auth_mapped_value_for(method_name)
792
795
  elsif command.respond_to?(method_name)
793
- command.send(method_name, ...)
796
+ command.__send__(method_name, ...)
794
797
  else
795
- # :nocov:
798
+ # simplecov:disable
796
799
  super
797
- # :nocov:
800
+ # simplecov:enable
798
801
  end
799
802
  end
800
803
 
@@ -851,9 +854,9 @@ module Foobara
851
854
  source = if allowed_rule.block.respond_to?("source") && defined?(MethodSource)
852
855
  begin
853
856
  # This only works when pry is loaded
854
- # :nocov:
857
+ # simplecov:disable
855
858
  allowed_rule.block.source
856
- # :nocov:
859
+ # simplecov:enable
857
860
  rescue MethodSource::SourceNotFoundError
858
861
  # This path is hit if the way the source code is extracted
859
862
  # doesn't result in valid Ruby, for example, as part of a hash such as:
@@ -900,9 +903,9 @@ module Foobara
900
903
  if capture_unknown_error
901
904
  self.outcome = Outcome.error(CommandConnector::UnknownError.for(e))
902
905
  else
903
- # :nocov:
906
+ # simplecov:disable
904
907
  raise
905
- # :nocov:
908
+ # simplecov:enable
906
909
  end
907
910
  end
908
911
 
@@ -26,9 +26,9 @@ module Foobara
26
26
  end
27
27
 
28
28
  def transform(_request)
29
- # :nocov:
29
+ # simplecov:disable
30
30
  raise "Not expected to be called"
31
- # :nocov:
31
+ # simplecov:enable
32
32
  end
33
33
  end
34
34
  end
@@ -75,9 +75,9 @@ module Foobara
75
75
  attributes_type = to_type.target_class.attributes_type
76
76
  EntityToPrimaryKeyInputsTransformer.new(to: attributes_type).from_type_declaration
77
77
  else
78
- # :nocov:
78
+ # simplecov:disable
79
79
  raise "Not sure how to handle #{to_type}"
80
- # :nocov:
80
+ # simplecov:enable
81
81
  end
82
82
  else
83
83
  to_type
@@ -20,7 +20,7 @@ module Foobara
20
20
  case object
21
21
  when Entity
22
22
  object.class.delegates.each_key do |delegated_attribute_name|
23
- object.send(delegated_attribute_name)
23
+ object.__send__(delegated_attribute_name)
24
24
  end
25
25
  when Array
26
26
  object.each do |element|
@@ -86,7 +86,7 @@ module Foobara
86
86
  # TODO: should this be somewhere more general-purpose?
87
87
  def args_to_type(*args, **opts, &block)
88
88
  if args.size == 1 && opts.empty? && block.nil?
89
- object_to_type(args.first)
89
+ object_to_type(args[0])
90
90
  else
91
91
  domain.foobara_type_from_declaration(*args, **opts, &block)
92
92
  end
@@ -121,9 +121,9 @@ module Foobara
121
121
  end
122
122
 
123
123
  def map
124
- # :nocov:
125
- raise "subclass responsibility"
126
- # :nocov:
124
+ # simplecov:disable
125
+ raise NotImplementedError
126
+ # simplecov:enable
127
127
  end
128
128
  end
129
129
  end
@@ -8,9 +8,9 @@ module Foobara
8
8
  invalid_keys = opts.keys - [:value]
9
9
 
10
10
  if invalid_keys.any?
11
- # :nocov:
11
+ # simplecov:disable
12
12
  raise ArgumentError, "Invalid keys: #{invalid_keys.join(", ")}. expected one of: #{valid_keys.join(", ")}"
13
- # :nocov:
13
+ # simplecov:enable
14
14
  end
15
15
 
16
16
  if opts.key?(:value)
@@ -83,7 +83,7 @@ module Foobara
83
83
  end
84
84
  end
85
85
 
86
- value = candidates.first
86
+ value = candidates[0]
87
87
 
88
88
  return value if value
89
89
 
@@ -20,7 +20,7 @@ module Foobara
20
20
  end
21
21
 
22
22
  def reset_all
23
- Foobara.raise_if_production!("reset_all")
23
+ Foobara.raise_if_production!
24
24
  install!
25
25
  end
26
26
  end