rom 2.0.2 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
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