rom 2.0.2 → 4.2.1

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 (203) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +35 -430
  3. data/LICENSE +1 -1
  4. data/README.md +83 -11
  5. data/lib/rom/version.rb +1 -1
  6. data/lib/rom.rb +3 -46
  7. metadata +30 -236
  8. data/.gitignore +0 -24
  9. data/.rspec +0 -3
  10. data/.rubocop.yml +0 -87
  11. data/.rubocop_todo.yml +0 -46
  12. data/.travis.yml +0 -28
  13. data/CODE_OF_CONDUCT.md +0 -13
  14. data/CONTRIBUTING.md +0 -1
  15. data/Gemfile +0 -41
  16. data/Guardfile +0 -24
  17. data/Rakefile +0 -22
  18. data/lib/rom/association_set.rb +0 -26
  19. data/lib/rom/command.rb +0 -173
  20. data/lib/rom/command_registry.rb +0 -153
  21. data/lib/rom/commands/class_interface.rb +0 -148
  22. data/lib/rom/commands/composite.rb +0 -54
  23. data/lib/rom/commands/create.rb +0 -13
  24. data/lib/rom/commands/delete.rb +0 -14
  25. data/lib/rom/commands/graph/builder.rb +0 -176
  26. data/lib/rom/commands/graph/class_interface.rb +0 -62
  27. data/lib/rom/commands/graph/input_evaluator.rb +0 -62
  28. data/lib/rom/commands/graph.rb +0 -103
  29. data/lib/rom/commands/lazy/create.rb +0 -23
  30. data/lib/rom/commands/lazy/delete.rb +0 -27
  31. data/lib/rom/commands/lazy/update.rb +0 -34
  32. data/lib/rom/commands/lazy.rb +0 -99
  33. data/lib/rom/commands/result.rb +0 -96
  34. data/lib/rom/commands/update.rb +0 -14
  35. data/lib/rom/commands.rb +0 -3
  36. data/lib/rom/configuration.rb +0 -88
  37. data/lib/rom/configuration_dsl/command.rb +0 -43
  38. data/lib/rom/configuration_dsl/command_dsl.rb +0 -35
  39. data/lib/rom/configuration_dsl/mapper.rb +0 -37
  40. data/lib/rom/configuration_dsl/mapper_dsl.rb +0 -44
  41. data/lib/rom/configuration_dsl/relation.rb +0 -26
  42. data/lib/rom/configuration_dsl.rb +0 -78
  43. data/lib/rom/configuration_plugin.rb +0 -17
  44. data/lib/rom/constants.rb +0 -30
  45. data/lib/rom/container.rb +0 -231
  46. data/lib/rom/create_container.rb +0 -61
  47. data/lib/rom/environment.rb +0 -70
  48. data/lib/rom/gateway.rb +0 -154
  49. data/lib/rom/global/plugin_dsl.rb +0 -49
  50. data/lib/rom/global.rb +0 -60
  51. data/lib/rom/lint/enumerable_dataset.rb +0 -54
  52. data/lib/rom/lint/gateway.rb +0 -94
  53. data/lib/rom/lint/linter.rb +0 -78
  54. data/lib/rom/lint/spec.rb +0 -20
  55. data/lib/rom/lint/test.rb +0 -98
  56. data/lib/rom/mapper_registry.rb +0 -35
  57. data/lib/rom/memory/commands.rb +0 -58
  58. data/lib/rom/memory/dataset.rb +0 -98
  59. data/lib/rom/memory/gateway.rb +0 -64
  60. data/lib/rom/memory/relation.rb +0 -49
  61. data/lib/rom/memory/storage.rb +0 -59
  62. data/lib/rom/memory/types.rb +0 -9
  63. data/lib/rom/memory.rb +0 -4
  64. data/lib/rom/pipeline.rb +0 -106
  65. data/lib/rom/plugin.rb +0 -17
  66. data/lib/rom/plugin_base.rb +0 -31
  67. data/lib/rom/plugin_registry.rb +0 -173
  68. data/lib/rom/plugins/command/schema.rb +0 -37
  69. data/lib/rom/plugins/configuration/configuration_dsl.rb +0 -17
  70. data/lib/rom/plugins/relation/key_inference.rb +0 -46
  71. data/lib/rom/plugins/relation/registry_reader.rb +0 -32
  72. data/lib/rom/plugins/relation/view/dsl.rb +0 -32
  73. data/lib/rom/plugins/relation/view.rb +0 -95
  74. data/lib/rom/relation/class_interface.rb +0 -230
  75. data/lib/rom/relation/composite.rb +0 -46
  76. data/lib/rom/relation/curried.rb +0 -104
  77. data/lib/rom/relation/graph.rb +0 -115
  78. data/lib/rom/relation/loaded.rb +0 -118
  79. data/lib/rom/relation/materializable.rb +0 -66
  80. data/lib/rom/relation/name.rb +0 -102
  81. data/lib/rom/relation.rb +0 -172
  82. data/lib/rom/relation_registry.rb +0 -9
  83. data/lib/rom/schema/dsl.rb +0 -58
  84. data/lib/rom/schema.rb +0 -89
  85. data/lib/rom/setup/auto_registration.rb +0 -69
  86. data/lib/rom/setup/auto_registration_strategies/base.rb +0 -11
  87. data/lib/rom/setup/auto_registration_strategies/custom_namespace.rb +0 -22
  88. data/lib/rom/setup/auto_registration_strategies/no_namespace.rb +0 -19
  89. data/lib/rom/setup/auto_registration_strategies/with_namespace.rb +0 -18
  90. data/lib/rom/setup/finalize/finalize_commands.rb +0 -47
  91. data/lib/rom/setup/finalize/finalize_mappers.rb +0 -36
  92. data/lib/rom/setup/finalize/finalize_relations.rb +0 -60
  93. data/lib/rom/setup/finalize.rb +0 -146
  94. data/lib/rom/setup.rb +0 -55
  95. data/lib/rom/support/configurable.rb +0 -80
  96. data/lib/rom/types.rb +0 -18
  97. data/log/.gitkeep +0 -0
  98. data/rakelib/benchmark.rake +0 -15
  99. data/rakelib/mutant.rake +0 -19
  100. data/rakelib/rubocop.rake +0 -18
  101. data/rom.gemspec +0 -26
  102. data/spec/fixtures/app/commands/create_user.rb +0 -2
  103. data/spec/fixtures/app/mappers/user_list.rb +0 -2
  104. data/spec/fixtures/app/my_commands/create_user.rb +0 -2
  105. data/spec/fixtures/app/my_mappers/user_list.rb +0 -2
  106. data/spec/fixtures/app/my_relations/users.rb +0 -2
  107. data/spec/fixtures/app/relations/users.rb +0 -2
  108. data/spec/fixtures/custom/commands/create_user.rb +0 -6
  109. data/spec/fixtures/custom/mappers/user_list.rb +0 -6
  110. data/spec/fixtures/custom/relations/users.rb +0 -6
  111. data/spec/fixtures/lib/persistence/commands/create_user.rb +0 -6
  112. data/spec/fixtures/lib/persistence/mappers/user_list.rb +0 -6
  113. data/spec/fixtures/lib/persistence/my_commands/create_user.rb +0 -6
  114. data/spec/fixtures/lib/persistence/my_mappers/user_list.rb +0 -6
  115. data/spec/fixtures/lib/persistence/my_relations/users.rb +0 -6
  116. data/spec/fixtures/lib/persistence/relations/users.rb +0 -6
  117. data/spec/integration/command_registry_spec.rb +0 -60
  118. data/spec/integration/commands/create_spec.rb +0 -177
  119. data/spec/integration/commands/delete_spec.rb +0 -67
  120. data/spec/integration/commands/error_handling_spec.rb +0 -25
  121. data/spec/integration/commands/graph_builder_spec.rb +0 -213
  122. data/spec/integration/commands/graph_spec.rb +0 -288
  123. data/spec/integration/commands/update_spec.rb +0 -109
  124. data/spec/integration/commands_spec.rb +0 -67
  125. data/spec/integration/mappers/combine_spec.rb +0 -117
  126. data/spec/integration/mappers/deep_embedded_spec.rb +0 -44
  127. data/spec/integration/mappers/definition_dsl_spec.rb +0 -206
  128. data/spec/integration/mappers/embedded_spec.rb +0 -62
  129. data/spec/integration/mappers/exclude_spec.rb +0 -27
  130. data/spec/integration/mappers/fold_spec.rb +0 -71
  131. data/spec/integration/mappers/group_spec.rb +0 -163
  132. data/spec/integration/mappers/overwrite_attributes_value_spec.rb +0 -51
  133. data/spec/integration/mappers/prefix_separator_spec.rb +0 -52
  134. data/spec/integration/mappers/prefix_spec.rb +0 -48
  135. data/spec/integration/mappers/prefixing_attributes_spec.rb +0 -37
  136. data/spec/integration/mappers/registering_custom_mappers_spec.rb +0 -28
  137. data/spec/integration/mappers/renaming_attributes_spec.rb +0 -125
  138. data/spec/integration/mappers/reusing_mappers_spec.rb +0 -43
  139. data/spec/integration/mappers/step_spec.rb +0 -119
  140. data/spec/integration/mappers/symbolizing_attributes_spec.rb +0 -77
  141. data/spec/integration/mappers/unfold_spec.rb +0 -92
  142. data/spec/integration/mappers/ungroup_spec.rb +0 -126
  143. data/spec/integration/mappers/unwrap_spec.rb +0 -93
  144. data/spec/integration/mappers/wrap_spec.rb +0 -155
  145. data/spec/integration/memory/commands/create_spec.rb +0 -23
  146. data/spec/integration/memory/commands/delete_spec.rb +0 -23
  147. data/spec/integration/memory/commands/update_spec.rb +0 -23
  148. data/spec/integration/multi_env_spec.rb +0 -69
  149. data/spec/integration/multi_repo_spec.rb +0 -46
  150. data/spec/integration/relations/default_dataset_spec.rb +0 -38
  151. data/spec/integration/relations/inheritance_spec.rb +0 -37
  152. data/spec/integration/relations/reading_spec.rb +0 -169
  153. data/spec/integration/relations/registry_dsl_spec.rb +0 -45
  154. data/spec/integration/repositories/extending_relations_spec.rb +0 -58
  155. data/spec/integration/repositories/setting_logger_spec.rb +0 -34
  156. data/spec/integration/setup_spec.rb +0 -160
  157. data/spec/shared/command_behavior.rb +0 -28
  158. data/spec/shared/command_graph.rb +0 -50
  159. data/spec/shared/container.rb +0 -9
  160. data/spec/shared/enumerable_dataset.rb +0 -52
  161. data/spec/shared/gateway_only.rb +0 -6
  162. data/spec/shared/materializable.rb +0 -36
  163. data/spec/shared/no_container.rb +0 -16
  164. data/spec/shared/one_behavior.rb +0 -26
  165. data/spec/shared/proxy.rb +0 -0
  166. data/spec/shared/users_and_tasks.rb +0 -10
  167. data/spec/spec_helper.rb +0 -52
  168. data/spec/support/constant_leak_finder.rb +0 -14
  169. data/spec/support/mutant.rb +0 -10
  170. data/spec/support/types.rb +0 -5
  171. data/spec/test/memory_repository_lint_test.rb +0 -27
  172. data/spec/unit/rom/association_set_spec.rb +0 -23
  173. data/spec/unit/rom/commands/graph_spec.rb +0 -191
  174. data/spec/unit/rom/commands/lazy_spec.rb +0 -307
  175. data/spec/unit/rom/commands/result_spec.rb +0 -70
  176. data/spec/unit/rom/commands_spec.rb +0 -165
  177. data/spec/unit/rom/configurable_spec.rb +0 -49
  178. data/spec/unit/rom/configuration_spec.rb +0 -61
  179. data/spec/unit/rom/container_spec.rb +0 -99
  180. data/spec/unit/rom/create_container_spec.rb +0 -151
  181. data/spec/unit/rom/environment_spec.rb +0 -123
  182. data/spec/unit/rom/gateway_spec.rb +0 -146
  183. data/spec/unit/rom/mapper_registry_spec.rb +0 -25
  184. data/spec/unit/rom/memory/commands_spec.rb +0 -43
  185. data/spec/unit/rom/memory/dataset_spec.rb +0 -31
  186. data/spec/unit/rom/memory/relation_spec.rb +0 -109
  187. data/spec/unit/rom/memory/repository_spec.rb +0 -12
  188. data/spec/unit/rom/memory/storage_spec.rb +0 -45
  189. data/spec/unit/rom/plugin_spec.rb +0 -150
  190. data/spec/unit/rom/plugins/command/schema_spec.rb +0 -66
  191. data/spec/unit/rom/plugins/relation/key_inference_spec.rb +0 -85
  192. data/spec/unit/rom/plugins/relation/view_spec.rb +0 -51
  193. data/spec/unit/rom/relation/composite_spec.rb +0 -89
  194. data/spec/unit/rom/relation/curried_spec.rb +0 -52
  195. data/spec/unit/rom/relation/graph_spec.rb +0 -92
  196. data/spec/unit/rom/relation/lazy/combine_spec.rb +0 -165
  197. data/spec/unit/rom/relation/lazy_spec.rb +0 -214
  198. data/spec/unit/rom/relation/loaded_spec.rb +0 -53
  199. data/spec/unit/rom/relation/name_spec.rb +0 -58
  200. data/spec/unit/rom/relation/schema_spec.rb +0 -117
  201. data/spec/unit/rom/relation_spec.rb +0 -237
  202. data/spec/unit/rom/schema_spec.rb +0 -10
  203. data/spec/unit/rom/setup/auto_registration_spec.rb +0 -152
data/README.md CHANGED
@@ -13,31 +13,107 @@
13
13
  [![Code Climate](https://codeclimate.com/github/rom-rb/rom/badges/gpa.svg)][codeclimate]
14
14
  [![Test Coverage](https://codeclimate.com/github/rom-rb/rom/badges/coverage.svg)][codeclimate]
15
15
  [![Inline docs](http://inch-ci.org/github/rom-rb/rom.svg?branch=master&style=flat)][inchpages]
16
+ [![OpenCollective](https://opencollective.com/rom/backers/badge.svg)](#backers)
17
+ [![OpenCollective](https://opencollective.com/rom/sponsors/badge.svg)](#sponsors)
16
18
 
17
- Ruby Object Mapper (ROM) is a data mapping and persistence toolkit for Ruby
19
+ Ruby Object Mapper (rom-rb) is a data mapping and persistence toolkit for Ruby
18
20
  with the goal to provide powerful object mapping capabilities without limiting
19
- the full power of your datastore.
21
+ the full power of your database.
22
+
23
+ Main rom gem provides following components:
24
+
25
+ * [core](https://github.com/rom-rb/rom/blob/master/core/README.md) - Core and Adapter APIs
26
+ * [mapper](https://github.com/rom-rb/rom/blob/master/mapper/README.md) - Data mappers integrated with rom-core
27
+ * [changeset](https://github.com/rom-rb/rom/blob/master/changeset/README.md) - Changeset objects integrated with rom-core
28
+ * [repository](https://github.com/rom-rb/rom/blob/master/repository/README.md) - Additional repository abstraction integrated with rom-core
20
29
 
21
30
  Learn more:
22
31
 
23
32
  * [Introduction](http://rom-rb.org/learn/introduction)
24
33
  * [Quick Start](http://rom-rb.org/learn/repositories/quick-start)
25
34
 
26
- ## Support Campaign
27
-
28
- You can support ROM's development via our [campaign on Bountysource](https://salt.bountysource.com/teams/rom-rb). Cheers!
35
+ ## Backers
36
+
37
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/rom#backer)]
38
+
39
+ <a href="https://opencollective.com/rom/backer/0/website" target="_blank"><img src="https://opencollective.com/rom/backer/0/avatar.svg"></a>
40
+ <a href="https://opencollective.com/rom/backer/1/website" target="_blank"><img src="https://opencollective.com/rom/backer/1/avatar.svg"></a>
41
+ <a href="https://opencollective.com/rom/backer/2/website" target="_blank"><img src="https://opencollective.com/rom/backer/2/avatar.svg"></a>
42
+ <a href="https://opencollective.com/rom/backer/3/website" target="_blank"><img src="https://opencollective.com/rom/backer/3/avatar.svg"></a>
43
+ <a href="https://opencollective.com/rom/backer/4/website" target="_blank"><img src="https://opencollective.com/rom/backer/4/avatar.svg"></a>
44
+ <a href="https://opencollective.com/rom/backer/5/website" target="_blank"><img src="https://opencollective.com/rom/backer/5/avatar.svg"></a>
45
+ <a href="https://opencollective.com/rom/backer/6/website" target="_blank"><img src="https://opencollective.com/rom/backer/6/avatar.svg"></a>
46
+ <a href="https://opencollective.com/rom/backer/7/website" target="_blank"><img src="https://opencollective.com/rom/backer/7/avatar.svg"></a>
47
+ <a href="https://opencollective.com/rom/backer/8/website" target="_blank"><img src="https://opencollective.com/rom/backer/8/avatar.svg"></a>
48
+ <a href="https://opencollective.com/rom/backer/9/website" target="_blank"><img src="https://opencollective.com/rom/backer/9/avatar.svg"></a>
49
+ <a href="https://opencollective.com/rom/backer/10/website" target="_blank"><img src="https://opencollective.com/rom/backer/10/avatar.svg"></a>
50
+ <a href="https://opencollective.com/rom/backer/11/website" target="_blank"><img src="https://opencollective.com/rom/backer/11/avatar.svg"></a>
51
+ <a href="https://opencollective.com/rom/backer/12/website" target="_blank"><img src="https://opencollective.com/rom/backer/12/avatar.svg"></a>
52
+ <a href="https://opencollective.com/rom/backer/13/website" target="_blank"><img src="https://opencollective.com/rom/backer/13/avatar.svg"></a>
53
+ <a href="https://opencollective.com/rom/backer/14/website" target="_blank"><img src="https://opencollective.com/rom/backer/14/avatar.svg"></a>
54
+ <a href="https://opencollective.com/rom/backer/15/website" target="_blank"><img src="https://opencollective.com/rom/backer/15/avatar.svg"></a>
55
+ <a href="https://opencollective.com/rom/backer/16/website" target="_blank"><img src="https://opencollective.com/rom/backer/16/avatar.svg"></a>
56
+ <a href="https://opencollective.com/rom/backer/17/website" target="_blank"><img src="https://opencollective.com/rom/backer/17/avatar.svg"></a>
57
+ <a href="https://opencollective.com/rom/backer/18/website" target="_blank"><img src="https://opencollective.com/rom/backer/18/avatar.svg"></a>
58
+ <a href="https://opencollective.com/rom/backer/19/website" target="_blank"><img src="https://opencollective.com/rom/backer/19/avatar.svg"></a>
59
+ <a href="https://opencollective.com/rom/backer/20/website" target="_blank"><img src="https://opencollective.com/rom/backer/20/avatar.svg"></a>
60
+ <a href="https://opencollective.com/rom/backer/21/website" target="_blank"><img src="https://opencollective.com/rom/backer/21/avatar.svg"></a>
61
+ <a href="https://opencollective.com/rom/backer/22/website" target="_blank"><img src="https://opencollective.com/rom/backer/22/avatar.svg"></a>
62
+ <a href="https://opencollective.com/rom/backer/23/website" target="_blank"><img src="https://opencollective.com/rom/backer/23/avatar.svg"></a>
63
+ <a href="https://opencollective.com/rom/backer/24/website" target="_blank"><img src="https://opencollective.com/rom/backer/24/avatar.svg"></a>
64
+ <a href="https://opencollective.com/rom/backer/25/website" target="_blank"><img src="https://opencollective.com/rom/backer/25/avatar.svg"></a>
65
+ <a href="https://opencollective.com/rom/backer/26/website" target="_blank"><img src="https://opencollective.com/rom/backer/26/avatar.svg"></a>
66
+ <a href="https://opencollective.com/rom/backer/27/website" target="_blank"><img src="https://opencollective.com/rom/backer/27/avatar.svg"></a>
67
+ <a href="https://opencollective.com/rom/backer/28/website" target="_blank"><img src="https://opencollective.com/rom/backer/28/avatar.svg"></a>
68
+ <a href="https://opencollective.com/rom/backer/29/website" target="_blank"><img src="https://opencollective.com/rom/backer/29/avatar.svg"></a>
69
+
70
+ ## Sponsors
71
+
72
+ Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/rom#sponsor)]
73
+
74
+ <a href="https://opencollective.com/rom/sponsor/0/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/0/avatar.svg"></a>
75
+ <a href="https://opencollective.com/rom/sponsor/1/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/1/avatar.svg"></a>
76
+ <a href="https://opencollective.com/rom/sponsor/2/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/2/avatar.svg"></a>
77
+ <a href="https://opencollective.com/rom/sponsor/3/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/3/avatar.svg"></a>
78
+ <a href="https://opencollective.com/rom/sponsor/4/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/4/avatar.svg"></a>
79
+ <a href="https://opencollective.com/rom/sponsor/5/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/5/avatar.svg"></a>
80
+ <a href="https://opencollective.com/rom/sponsor/6/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/6/avatar.svg"></a>
81
+ <a href="https://opencollective.com/rom/sponsor/7/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/7/avatar.svg"></a>
82
+ <a href="https://opencollective.com/rom/sponsor/8/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/8/avatar.svg"></a>
83
+ <a href="https://opencollective.com/rom/sponsor/9/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/9/avatar.svg"></a>
84
+ <a href="https://opencollective.com/rom/sponsor/10/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/10/avatar.svg"></a>
85
+ <a href="https://opencollective.com/rom/sponsor/11/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/11/avatar.svg"></a>
86
+ <a href="https://opencollective.com/rom/sponsor/12/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/12/avatar.svg"></a>
87
+ <a href="https://opencollective.com/rom/sponsor/13/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/13/avatar.svg"></a>
88
+ <a href="https://opencollective.com/rom/sponsor/14/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/14/avatar.svg"></a>
89
+ <a href="https://opencollective.com/rom/sponsor/15/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/15/avatar.svg"></a>
90
+ <a href="https://opencollective.com/rom/sponsor/16/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/16/avatar.svg"></a>
91
+ <a href="https://opencollective.com/rom/sponsor/17/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/17/avatar.svg"></a>
92
+ <a href="https://opencollective.com/rom/sponsor/18/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/18/avatar.svg"></a>
93
+ <a href="https://opencollective.com/rom/sponsor/19/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/19/avatar.svg"></a>
94
+ <a href="https://opencollective.com/rom/sponsor/20/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/20/avatar.svg"></a>
95
+ <a href="https://opencollective.com/rom/sponsor/21/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/21/avatar.svg"></a>
96
+ <a href="https://opencollective.com/rom/sponsor/22/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/22/avatar.svg"></a>
97
+ <a href="https://opencollective.com/rom/sponsor/23/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/23/avatar.svg"></a>
98
+ <a href="https://opencollective.com/rom/sponsor/24/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/24/avatar.svg"></a>
99
+ <a href="https://opencollective.com/rom/sponsor/25/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/25/avatar.svg"></a>
100
+ <a href="https://opencollective.com/rom/sponsor/26/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/26/avatar.svg"></a>
101
+ <a href="https://opencollective.com/rom/sponsor/27/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/27/avatar.svg"></a>
102
+ <a href="https://opencollective.com/rom/sponsor/28/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/28/avatar.svg"></a>
103
+ <a href="https://opencollective.com/rom/sponsor/29/website" target="_blank"><img src="https://opencollective.com/rom/sponsor/29/avatar.svg"></a>
29
104
 
30
105
  ## Ecosystem
31
106
 
32
107
  There are other gems within the rom ecosystem that you will find useful:
33
108
 
34
- * [rom-repository](https://github.com/rom-rb/rom-repository) a higher-level, convenient abstraction with auto-mapping
109
+ * [rom-factory](https://github.com/rom-rb/rom-factory) struct generator with support for persistence
35
110
  * (WIP) [rom-migrator](https://github.com/rom-rb/rom-migrator) common APIs for database migrations
36
111
 
37
112
  ## Adapters
38
113
 
39
- * [rom-sql](https://github.com/rom-rb/rom-sql) (supported URI schemes: ado amalgalite cubrid db2 dbi do fdbsql firebird ibmdb informix jdbc mysql mysql2 odbc openbase oracle postgres sqlanywhere sqlite swift tinytds)
114
+ * [rom-sql](https://github.com/rom-rb/rom-sql)
40
115
  * [rom-yesql](https://github.com/rom-rb/rom-yesql)
116
+ * [rom-elasticsearch](https://github.com/rom-rb/rom-elasticsearch)
41
117
  * [rom-http](https://github.com/rom-rb/rom-http)
42
118
  * [rom-couchdb](https://github.com/rom-rb/rom-couchdb)
43
119
  * [rom-csv](https://github.com/rom-rb/rom-csv)
@@ -52,13 +128,9 @@ There are other gems within the rom ecosystem that you will find useful:
52
128
  * [rom-neo4j](https://github.com/rom-rb/rom-neo4j)
53
129
  * [rom-rethinkdb](https://github.com/rom-rb/rom-rethinkdb)
54
130
 
55
- See [issues](https://github.com/rom-rb/rom/issues?q=is%3Aopen+is%3Aissue+label%3Aadapter+label%3Afeature)
56
- for a list of adapters that are planned to be added soon.
57
-
58
131
  ## Framework integrations
59
132
 
60
133
  * [rom-rails](https://github.com/rom-rb/rom-rails)
61
- * [rom-roda](https://github.com/rom-rb/rom-roda)
62
134
 
63
135
  ## Community
64
136
 
data/lib/rom/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ROM
2
- VERSION = '2.0.2'.freeze
2
+ VERSION = '4.2.1'.freeze
3
3
  end
data/lib/rom.rb CHANGED
@@ -1,47 +1,4 @@
1
- require 'dry-equalizer'
2
-
3
- require 'rom-support'
4
- require 'rom/version'
5
- require 'rom/constants'
6
-
7
- # internal ROM support lib
8
- require 'rom/support/inflector'
9
- require 'rom/support/registry'
10
- require 'rom/support/options'
11
- require 'rom/support/class_macros'
12
- require 'rom/support/class_builder'
13
- require 'rom/support/inheritance_hook'
14
-
15
- # core parts
16
- require 'rom/configuration_plugin'
17
- require 'rom/plugin'
18
- require 'rom/relation'
1
+ require 'rom-core'
19
2
  require 'rom-mapper'
20
- require 'rom/commands'
21
-
22
- # rom Global
23
- require 'rom/global'
24
-
25
- # rom configurations
26
- require 'rom/configuration'
27
-
28
- # container with registries
29
- require 'rom/container'
30
-
31
- # container factory
32
- require 'rom/create_container'
33
-
34
- # register core plugins
35
- require 'rom/plugins/configuration/configuration_dsl'
36
- require 'rom/plugins/relation/registry_reader'
37
- require 'rom/plugins/command/schema'
38
-
39
- module ROM
40
- extend Global
41
-
42
- plugins do
43
- register :macros, ROM::ConfigurationPlugins::ConfigurationDSL, type: :configuration
44
- register :registry_reader, ROM::Plugins::Relation::RegistryReader, type: :relation
45
- register :schema, ROM::Plugins::Command::Schema, type: :command
46
- end
47
- end
3
+ require 'rom-repository'
4
+ require 'rom-changeset'
metadata CHANGED
@@ -1,64 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-11 00:00:00.000000000 Z
11
+ date: 2018-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: concurrent-ruby
14
+ name: rom-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
- - !ruby/object:Gem::Dependency
28
- name: dry-equalizer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
19
+ version: '4.2'
20
+ - - ">="
32
21
  - !ruby/object:Gem::Version
33
- version: '0.2'
22
+ version: 4.2.1
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
27
  - - "~>"
39
28
  - !ruby/object:Gem::Version
40
- version: '0.2'
41
- - !ruby/object:Gem::Dependency
42
- name: dry-types
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '0.8'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
29
+ version: '4.2'
30
+ - - ">="
53
31
  - !ruby/object:Gem::Version
54
- version: '0.8'
32
+ version: 4.2.1
55
33
  - !ruby/object:Gem::Dependency
56
- name: rom-support
34
+ name: rom-repository
57
35
  requirement: !ruby/object:Gem::Requirement
58
36
  requirements:
59
37
  - - "~>"
60
38
  - !ruby/object:Gem::Version
61
39
  version: '2.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.0.2
62
43
  type: :runtime
63
44
  prerelease: false
64
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -66,20 +47,29 @@ dependencies:
66
47
  - - "~>"
67
48
  - !ruby/object:Gem::Version
68
49
  version: '2.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.2
69
53
  - !ruby/object:Gem::Dependency
70
- name: rom-mapper
54
+ name: rom-changeset
71
55
  requirement: !ruby/object:Gem::Requirement
72
56
  requirements:
73
57
  - - "~>"
74
58
  - !ruby/object:Gem::Version
75
- version: 0.4.0
59
+ version: '1.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.2
76
63
  type: :runtime
77
64
  prerelease: false
78
65
  version_requirements: !ruby/object:Gem::Requirement
79
66
  requirements:
80
67
  - - "~>"
81
68
  - !ruby/object:Gem::Version
82
- version: 0.4.0
69
+ version: '1.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 1.0.2
83
73
  - !ruby/object:Gem::Dependency
84
74
  name: rake
85
75
  requirement: !ruby/object:Gem::Requirement
@@ -100,221 +90,25 @@ dependencies:
100
90
  requirements:
101
91
  - - "~>"
102
92
  - !ruby/object:Gem::Version
103
- version: '3.3'
93
+ version: '3.5'
104
94
  type: :development
105
95
  prerelease: false
106
96
  version_requirements: !ruby/object:Gem::Requirement
107
97
  requirements:
108
98
  - - "~>"
109
99
  - !ruby/object:Gem::Version
110
- version: '3.3'
100
+ version: '3.5'
111
101
  description: Persistence and mapping toolkit for Ruby
112
- email: piotr.solnica@gmail.com
102
+ email: piotr.solnica+oss@gmail.com
113
103
  executables: []
114
104
  extensions: []
115
105
  extra_rdoc_files: []
116
106
  files:
117
- - ".gitignore"
118
- - ".rspec"
119
- - ".rubocop.yml"
120
- - ".rubocop_todo.yml"
121
- - ".travis.yml"
122
107
  - CHANGELOG.md
123
- - CODE_OF_CONDUCT.md
124
- - CONTRIBUTING.md
125
- - Gemfile
126
- - Guardfile
127
108
  - LICENSE
128
109
  - README.md
129
- - Rakefile
130
110
  - lib/rom.rb
131
- - lib/rom/association_set.rb
132
- - lib/rom/command.rb
133
- - lib/rom/command_registry.rb
134
- - lib/rom/commands.rb
135
- - lib/rom/commands/class_interface.rb
136
- - lib/rom/commands/composite.rb
137
- - lib/rom/commands/create.rb
138
- - lib/rom/commands/delete.rb
139
- - lib/rom/commands/graph.rb
140
- - lib/rom/commands/graph/builder.rb
141
- - lib/rom/commands/graph/class_interface.rb
142
- - lib/rom/commands/graph/input_evaluator.rb
143
- - lib/rom/commands/lazy.rb
144
- - lib/rom/commands/lazy/create.rb
145
- - lib/rom/commands/lazy/delete.rb
146
- - lib/rom/commands/lazy/update.rb
147
- - lib/rom/commands/result.rb
148
- - lib/rom/commands/update.rb
149
- - lib/rom/configuration.rb
150
- - lib/rom/configuration_dsl.rb
151
- - lib/rom/configuration_dsl/command.rb
152
- - lib/rom/configuration_dsl/command_dsl.rb
153
- - lib/rom/configuration_dsl/mapper.rb
154
- - lib/rom/configuration_dsl/mapper_dsl.rb
155
- - lib/rom/configuration_dsl/relation.rb
156
- - lib/rom/configuration_plugin.rb
157
- - lib/rom/constants.rb
158
- - lib/rom/container.rb
159
- - lib/rom/create_container.rb
160
- - lib/rom/environment.rb
161
- - lib/rom/gateway.rb
162
- - lib/rom/global.rb
163
- - lib/rom/global/plugin_dsl.rb
164
- - lib/rom/lint/enumerable_dataset.rb
165
- - lib/rom/lint/gateway.rb
166
- - lib/rom/lint/linter.rb
167
- - lib/rom/lint/spec.rb
168
- - lib/rom/lint/test.rb
169
- - lib/rom/mapper_registry.rb
170
- - lib/rom/memory.rb
171
- - lib/rom/memory/commands.rb
172
- - lib/rom/memory/dataset.rb
173
- - lib/rom/memory/gateway.rb
174
- - lib/rom/memory/relation.rb
175
- - lib/rom/memory/storage.rb
176
- - lib/rom/memory/types.rb
177
- - lib/rom/pipeline.rb
178
- - lib/rom/plugin.rb
179
- - lib/rom/plugin_base.rb
180
- - lib/rom/plugin_registry.rb
181
- - lib/rom/plugins/command/schema.rb
182
- - lib/rom/plugins/configuration/configuration_dsl.rb
183
- - lib/rom/plugins/relation/key_inference.rb
184
- - lib/rom/plugins/relation/registry_reader.rb
185
- - lib/rom/plugins/relation/view.rb
186
- - lib/rom/plugins/relation/view/dsl.rb
187
- - lib/rom/relation.rb
188
- - lib/rom/relation/class_interface.rb
189
- - lib/rom/relation/composite.rb
190
- - lib/rom/relation/curried.rb
191
- - lib/rom/relation/graph.rb
192
- - lib/rom/relation/loaded.rb
193
- - lib/rom/relation/materializable.rb
194
- - lib/rom/relation/name.rb
195
- - lib/rom/relation_registry.rb
196
- - lib/rom/schema.rb
197
- - lib/rom/schema/dsl.rb
198
- - lib/rom/setup.rb
199
- - lib/rom/setup/auto_registration.rb
200
- - lib/rom/setup/auto_registration_strategies/base.rb
201
- - lib/rom/setup/auto_registration_strategies/custom_namespace.rb
202
- - lib/rom/setup/auto_registration_strategies/no_namespace.rb
203
- - lib/rom/setup/auto_registration_strategies/with_namespace.rb
204
- - lib/rom/setup/finalize.rb
205
- - lib/rom/setup/finalize/finalize_commands.rb
206
- - lib/rom/setup/finalize/finalize_mappers.rb
207
- - lib/rom/setup/finalize/finalize_relations.rb
208
- - lib/rom/support/configurable.rb
209
- - lib/rom/types.rb
210
111
  - lib/rom/version.rb
211
- - log/.gitkeep
212
- - rakelib/benchmark.rake
213
- - rakelib/mutant.rake
214
- - rakelib/rubocop.rake
215
- - rom.gemspec
216
- - spec/fixtures/app/commands/create_user.rb
217
- - spec/fixtures/app/mappers/user_list.rb
218
- - spec/fixtures/app/my_commands/create_user.rb
219
- - spec/fixtures/app/my_mappers/user_list.rb
220
- - spec/fixtures/app/my_relations/users.rb
221
- - spec/fixtures/app/relations/users.rb
222
- - spec/fixtures/custom/commands/create_user.rb
223
- - spec/fixtures/custom/mappers/user_list.rb
224
- - spec/fixtures/custom/relations/users.rb
225
- - spec/fixtures/lib/persistence/commands/create_user.rb
226
- - spec/fixtures/lib/persistence/mappers/user_list.rb
227
- - spec/fixtures/lib/persistence/my_commands/create_user.rb
228
- - spec/fixtures/lib/persistence/my_mappers/user_list.rb
229
- - spec/fixtures/lib/persistence/my_relations/users.rb
230
- - spec/fixtures/lib/persistence/relations/users.rb
231
- - spec/integration/command_registry_spec.rb
232
- - spec/integration/commands/create_spec.rb
233
- - spec/integration/commands/delete_spec.rb
234
- - spec/integration/commands/error_handling_spec.rb
235
- - spec/integration/commands/graph_builder_spec.rb
236
- - spec/integration/commands/graph_spec.rb
237
- - spec/integration/commands/update_spec.rb
238
- - spec/integration/commands_spec.rb
239
- - spec/integration/mappers/combine_spec.rb
240
- - spec/integration/mappers/deep_embedded_spec.rb
241
- - spec/integration/mappers/definition_dsl_spec.rb
242
- - spec/integration/mappers/embedded_spec.rb
243
- - spec/integration/mappers/exclude_spec.rb
244
- - spec/integration/mappers/fold_spec.rb
245
- - spec/integration/mappers/group_spec.rb
246
- - spec/integration/mappers/overwrite_attributes_value_spec.rb
247
- - spec/integration/mappers/prefix_separator_spec.rb
248
- - spec/integration/mappers/prefix_spec.rb
249
- - spec/integration/mappers/prefixing_attributes_spec.rb
250
- - spec/integration/mappers/registering_custom_mappers_spec.rb
251
- - spec/integration/mappers/renaming_attributes_spec.rb
252
- - spec/integration/mappers/reusing_mappers_spec.rb
253
- - spec/integration/mappers/step_spec.rb
254
- - spec/integration/mappers/symbolizing_attributes_spec.rb
255
- - spec/integration/mappers/unfold_spec.rb
256
- - spec/integration/mappers/ungroup_spec.rb
257
- - spec/integration/mappers/unwrap_spec.rb
258
- - spec/integration/mappers/wrap_spec.rb
259
- - spec/integration/memory/commands/create_spec.rb
260
- - spec/integration/memory/commands/delete_spec.rb
261
- - spec/integration/memory/commands/update_spec.rb
262
- - spec/integration/multi_env_spec.rb
263
- - spec/integration/multi_repo_spec.rb
264
- - spec/integration/relations/default_dataset_spec.rb
265
- - spec/integration/relations/inheritance_spec.rb
266
- - spec/integration/relations/reading_spec.rb
267
- - spec/integration/relations/registry_dsl_spec.rb
268
- - spec/integration/repositories/extending_relations_spec.rb
269
- - spec/integration/repositories/setting_logger_spec.rb
270
- - spec/integration/setup_spec.rb
271
- - spec/shared/command_behavior.rb
272
- - spec/shared/command_graph.rb
273
- - spec/shared/container.rb
274
- - spec/shared/enumerable_dataset.rb
275
- - spec/shared/gateway_only.rb
276
- - spec/shared/materializable.rb
277
- - spec/shared/no_container.rb
278
- - spec/shared/one_behavior.rb
279
- - spec/shared/proxy.rb
280
- - spec/shared/users_and_tasks.rb
281
- - spec/spec_helper.rb
282
- - spec/support/constant_leak_finder.rb
283
- - spec/support/mutant.rb
284
- - spec/support/types.rb
285
- - spec/test/memory_repository_lint_test.rb
286
- - spec/unit/rom/association_set_spec.rb
287
- - spec/unit/rom/commands/graph_spec.rb
288
- - spec/unit/rom/commands/lazy_spec.rb
289
- - spec/unit/rom/commands/result_spec.rb
290
- - spec/unit/rom/commands_spec.rb
291
- - spec/unit/rom/configurable_spec.rb
292
- - spec/unit/rom/configuration_spec.rb
293
- - spec/unit/rom/container_spec.rb
294
- - spec/unit/rom/create_container_spec.rb
295
- - spec/unit/rom/environment_spec.rb
296
- - spec/unit/rom/gateway_spec.rb
297
- - spec/unit/rom/mapper_registry_spec.rb
298
- - spec/unit/rom/memory/commands_spec.rb
299
- - spec/unit/rom/memory/dataset_spec.rb
300
- - spec/unit/rom/memory/relation_spec.rb
301
- - spec/unit/rom/memory/repository_spec.rb
302
- - spec/unit/rom/memory/storage_spec.rb
303
- - spec/unit/rom/plugin_spec.rb
304
- - spec/unit/rom/plugins/command/schema_spec.rb
305
- - spec/unit/rom/plugins/relation/key_inference_spec.rb
306
- - spec/unit/rom/plugins/relation/view_spec.rb
307
- - spec/unit/rom/relation/composite_spec.rb
308
- - spec/unit/rom/relation/curried_spec.rb
309
- - spec/unit/rom/relation/graph_spec.rb
310
- - spec/unit/rom/relation/lazy/combine_spec.rb
311
- - spec/unit/rom/relation/lazy_spec.rb
312
- - spec/unit/rom/relation/loaded_spec.rb
313
- - spec/unit/rom/relation/name_spec.rb
314
- - spec/unit/rom/relation/schema_spec.rb
315
- - spec/unit/rom/relation_spec.rb
316
- - spec/unit/rom/schema_spec.rb
317
- - spec/unit/rom/setup/auto_registration_spec.rb
318
112
  homepage: http://rom-rb.org
319
113
  licenses:
320
114
  - MIT
@@ -335,8 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
129
  version: '0'
336
130
  requirements: []
337
131
  rubyforge_project:
338
- rubygems_version: 2.5.1
132
+ rubygems_version: 2.7.3
339
133
  signing_key:
340
134
  specification_version: 4
341
- summary: Ruby Object Mapper
135
+ summary: Persistence and mapping toolkit for Ruby
342
136
  test_files: []
data/.gitignore DELETED
@@ -1,24 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- coverage
6
- InstalledFiles
7
- lib/bundler/man
8
- pkg
9
- rdoc
10
- spec/reports
11
- test/tmp
12
- test/version_tmp
13
- tmp
14
- Gemfile.lock
15
- vendor/
16
- log/
17
-
18
- .idea/
19
-
20
- # YARD artifacts
21
- .yardoc
22
- _yardoc
23
- doc/
24
- .ruby-version
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --order random
3
- --require ./spec/spec_helper.rb
data/.rubocop.yml DELETED
@@ -1,87 +0,0 @@
1
- # Generated by `rubocop --auto-gen-config`
2
- inherit_from: .rubocop_todo.yml
3
-
4
- # Exclude temporary files
5
- AllCops:
6
- Exclude:
7
- - tmp/**/*
8
- - vendor/**/*
9
-
10
- Style/BlockDelimiters:
11
- EnforcedStyle: semantic
12
- FunctionalMethods:
13
- - let
14
- - let!
15
- - subject
16
- - watch
17
- - before
18
-
19
- # No need to handle LoadError in Rakefile
20
- Lint/HandleExceptions:
21
- Exclude:
22
- - rakelib/*.rake
23
- - spec/spec_helper.rb
24
- - benchmarks/setup.rb
25
-
26
- # gemspec is a special snowflake
27
- Metrics/LineLength:
28
- Exclude:
29
- - rom.gemspec
30
-
31
- # The enforced style doesn’t match Vim’s defaults
32
- Style/AlignParameters:
33
- Enabled: false
34
-
35
- # UTF-8 is perfectly fine in comments
36
- Style/AsciiComments:
37
- Enabled: false
38
-
39
- # Documentation checked by Inch CI
40
- Style/Documentation:
41
- Enabled: false
42
-
43
- # Early returns have their vices
44
- Style/GuardClause:
45
- Enabled: false
46
-
47
- # Need to be skipped for >-> usage
48
- Style/Lambda:
49
- Enabled: false
50
-
51
- # Multiline block chains are ok
52
- Style/MultilineBlockChain:
53
- Enabled: false
54
-
55
- # Multiline operation chains are indented
56
- Style/MultilineOperationIndentation:
57
- EnforcedStyle: indented
58
-
59
- # Result::Success and Result::Failure use > for callbacks
60
- Style/OpMethod:
61
- Exclude:
62
- - lib/rom/command_registry.rb
63
-
64
- # Don’t introduce semantic fail/raise distinction
65
- Style/SignalException:
66
- EnforcedStyle: only_raise
67
-
68
- # Need to be skipped for >-> usage
69
- Style/SpaceAroundOperators:
70
- Enabled: false
71
-
72
- # Accept both single and double quotes
73
- Style/StringLiterals:
74
- Enabled: false
75
-
76
- # Allow def self.foo; @foo; end
77
- Style/TrivialAccessors:
78
- Enabled: false
79
-
80
- # Allow compact style for specs
81
- Style/ClassAndModuleChildren:
82
- Exclude:
83
- - spec/**/*_spec.rb
84
-
85
- # Allow logical `or`/`and` in conditionals
86
- Style/AndOr:
87
- EnforcedStyle: conditionals