rom 0.5.0 → 0.6.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +19 -15
  3. data/.rubocop_todo.yml +28 -0
  4. data/.travis.yml +8 -1
  5. data/CHANGELOG.md +40 -0
  6. data/Gemfile +10 -2
  7. data/Guardfile +12 -10
  8. data/README.md +42 -43
  9. data/Rakefile +13 -23
  10. data/lib/rom.rb +19 -27
  11. data/lib/rom/command.rb +118 -0
  12. data/lib/rom/command_registry.rb +13 -27
  13. data/lib/rom/commands.rb +1 -59
  14. data/lib/rom/commands/abstract.rb +147 -0
  15. data/lib/rom/commands/composite.rb +47 -0
  16. data/lib/rom/commands/create.rb +2 -17
  17. data/lib/rom/commands/delete.rb +5 -25
  18. data/lib/rom/commands/result.rb +5 -5
  19. data/lib/rom/commands/update.rb +3 -27
  20. data/lib/rom/constants.rb +19 -0
  21. data/lib/rom/env.rb +85 -35
  22. data/lib/rom/global.rb +173 -42
  23. data/lib/rom/header.rb +5 -5
  24. data/lib/rom/header/attribute.rb +2 -2
  25. data/lib/rom/lint/enumerable_dataset.rb +52 -0
  26. data/lib/rom/lint/linter.rb +64 -0
  27. data/lib/rom/lint/repository.rb +78 -0
  28. data/lib/rom/lint/spec.rb +20 -0
  29. data/lib/rom/lint/test.rb +98 -0
  30. data/lib/rom/mapper.rb +32 -5
  31. data/lib/rom/mapper/attribute_dsl.rb +240 -0
  32. data/lib/rom/mapper/dsl.rb +100 -0
  33. data/lib/rom/mapper/model_dsl.rb +55 -0
  34. data/lib/rom/mapper_registry.rb +8 -1
  35. data/lib/rom/memory.rb +4 -0
  36. data/lib/rom/memory/commands.rb +46 -0
  37. data/lib/rom/memory/dataset.rb +72 -0
  38. data/lib/rom/memory/relation.rb +44 -0
  39. data/lib/rom/memory/repository.rb +62 -0
  40. data/lib/rom/memory/storage.rb +57 -0
  41. data/lib/rom/model_builder.rb +44 -5
  42. data/lib/rom/processor.rb +1 -1
  43. data/lib/rom/processor/transproc.rb +109 -16
  44. data/lib/rom/reader.rb +91 -39
  45. data/lib/rom/relation.rb +165 -26
  46. data/lib/rom/relation/composite.rb +132 -0
  47. data/lib/rom/relation/curried.rb +48 -0
  48. data/lib/rom/relation/lazy.rb +173 -0
  49. data/lib/rom/relation/loaded.rb +75 -0
  50. data/lib/rom/relation/registry_reader.rb +23 -0
  51. data/lib/rom/repository.rb +93 -34
  52. data/lib/rom/setup.rb +54 -98
  53. data/lib/rom/setup/finalize.rb +85 -76
  54. data/lib/rom/setup_dsl/command.rb +36 -0
  55. data/lib/rom/setup_dsl/command_dsl.rb +34 -0
  56. data/lib/rom/setup_dsl/mapper.rb +32 -0
  57. data/lib/rom/setup_dsl/mapper_dsl.rb +30 -0
  58. data/lib/rom/setup_dsl/relation.rb +21 -0
  59. data/lib/rom/setup_dsl/setup.rb +75 -0
  60. data/lib/rom/support/array_dataset.rb +38 -0
  61. data/lib/rom/support/class_builder.rb +44 -0
  62. data/lib/rom/support/class_macros.rb +56 -0
  63. data/lib/rom/support/data_proxy.rb +102 -0
  64. data/lib/rom/support/enumerable_dataset.rb +58 -0
  65. data/lib/rom/support/inflector.rb +73 -0
  66. data/lib/rom/support/options.rb +188 -0
  67. data/lib/rom/support/registry.rb +4 -8
  68. data/lib/rom/version.rb +1 -1
  69. data/rakelib/benchmark.rake +13 -0
  70. data/rakelib/mutant.rake +16 -0
  71. data/rakelib/rubocop.rake +18 -0
  72. data/rom.gemspec +4 -7
  73. data/spec/integration/commands/create_spec.rb +32 -24
  74. data/spec/integration/commands/delete_spec.rb +15 -7
  75. data/spec/integration/commands/update_spec.rb +13 -11
  76. data/spec/integration/mappers/deep_embedded_spec.rb +4 -11
  77. data/spec/integration/mappers/definition_dsl_spec.rb +31 -44
  78. data/spec/integration/mappers/embedded_spec.rb +9 -24
  79. data/spec/integration/mappers/group_spec.rb +22 -30
  80. data/spec/integration/mappers/prefixing_attributes_spec.rb +18 -23
  81. data/spec/integration/mappers/renaming_attributes_spec.rb +23 -38
  82. data/spec/integration/mappers/symbolizing_attributes_spec.rb +18 -24
  83. data/spec/integration/mappers/wrap_spec.rb +22 -30
  84. data/spec/integration/multi_repo_spec.rb +15 -37
  85. data/spec/integration/relations/reading_spec.rb +82 -14
  86. data/spec/integration/repositories/extending_relations_spec.rb +50 -0
  87. data/spec/integration/{adapters → repositories}/setting_logger_spec.rb +6 -5
  88. data/spec/integration/setup_spec.rb +59 -62
  89. data/spec/shared/enumerable_dataset.rb +49 -0
  90. data/spec/shared/one_behavior.rb +26 -0
  91. data/spec/shared/users_and_tasks.rb +11 -23
  92. data/spec/spec_helper.rb +16 -7
  93. data/spec/support/constant_leak_finder.rb +14 -0
  94. data/spec/test/memory_repository_lint_test.rb +27 -0
  95. data/spec/unit/rom/command_registry_spec.rb +44 -0
  96. data/spec/unit/rom/commands/result_spec.rb +14 -0
  97. data/spec/unit/rom/commands_spec.rb +174 -0
  98. data/spec/unit/rom/env_spec.rb +40 -7
  99. data/spec/unit/rom/global_spec.rb +14 -0
  100. data/spec/unit/rom/{mapper_builder_spec.rb → mapper/dsl_spec.rb} +52 -38
  101. data/spec/unit/rom/mapper_spec.rb +51 -10
  102. data/spec/unit/rom/{adapter/memory → memory}/dataset_spec.rb +6 -4
  103. data/spec/unit/rom/memory/repository_spec.rb +12 -0
  104. data/spec/unit/rom/memory/storage_spec.rb +45 -0
  105. data/spec/unit/rom/model_builder_spec.rb +4 -3
  106. data/spec/unit/rom/processor/transproc_spec.rb +1 -0
  107. data/spec/unit/rom/reader_spec.rb +97 -24
  108. data/spec/unit/rom/relation/composite_spec.rb +65 -0
  109. data/spec/unit/rom/relation/lazy_spec.rb +145 -0
  110. data/spec/unit/rom/relation/loaded_spec.rb +28 -0
  111. data/spec/unit/rom/relation_spec.rb +111 -6
  112. data/spec/unit/rom/repository_spec.rb +59 -9
  113. data/spec/unit/rom/setup_spec.rb +99 -11
  114. data/spec/unit/rom/support/array_dataset_spec.rb +59 -0
  115. data/spec/unit/rom/support/class_builder_spec.rb +42 -0
  116. data/spec/unit/rom/support/enumerable_dataset_spec.rb +17 -0
  117. data/spec/unit/rom/support/inflector_spec.rb +89 -0
  118. data/spec/unit/rom/support/options_spec.rb +119 -0
  119. metadata +74 -112
  120. data/lib/rom/adapter.rb +0 -191
  121. data/lib/rom/adapter/memory.rb +0 -32
  122. data/lib/rom/adapter/memory/commands.rb +0 -31
  123. data/lib/rom/adapter/memory/dataset.rb +0 -67
  124. data/lib/rom/adapter/memory/storage.rb +0 -26
  125. data/lib/rom/commands/with_options.rb +0 -18
  126. data/lib/rom/config.rb +0 -70
  127. data/lib/rom/mapper_builder.rb +0 -52
  128. data/lib/rom/mapper_builder/mapper_dsl.rb +0 -114
  129. data/lib/rom/mapper_builder/model_dsl.rb +0 -29
  130. data/lib/rom/reader_builder.rb +0 -48
  131. data/lib/rom/relation_builder.rb +0 -62
  132. data/lib/rom/setup/base_relation_dsl.rb +0 -46
  133. data/lib/rom/setup/command_dsl.rb +0 -46
  134. data/lib/rom/setup/mapper_dsl.rb +0 -19
  135. data/lib/rom/setup/relation_dsl.rb +0 -20
  136. data/lib/rom/setup/schema_dsl.rb +0 -33
  137. data/spec/integration/adapters/extending_relations_spec.rb +0 -41
  138. data/spec/integration/commands/try_spec.rb +0 -27
  139. data/spec/integration/schema_spec.rb +0 -77
  140. data/spec/unit/config_spec.rb +0 -60
  141. data/spec/unit/rom/adapter_spec.rb +0 -79
  142. data/spec/unit/rom_spec.rb +0 -14
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rom/support/enumerable_dataset'
4
+
5
+ describe ROM::EnumerableDataset do
6
+ let(:klass) do
7
+ Class.new do
8
+ include ROM::EnumerableDataset
9
+
10
+ def self.row_proc
11
+ Transproc(:symbolize_keys)
12
+ end
13
+ end
14
+ end
15
+
16
+ it_behaves_like 'an enumerable dataset'
17
+ end
@@ -0,0 +1,89 @@
1
+ require 'spec_helper'
2
+
3
+ describe ROM::Inflector do
4
+ shared_examples 'an inflector' do
5
+ it 'singularises' do
6
+ expect(api.singularize('tasks')).to eq 'task'
7
+ end
8
+
9
+ it 'pluralizes' do
10
+ expect(api.pluralize('task')).to eq 'tasks'
11
+ end
12
+
13
+ it 'camelizes' do
14
+ expect(api.camelize('task_user')).to eq 'TaskUser'
15
+ end
16
+
17
+ it 'underscores' do
18
+ expect(api.underscore('TaskUser')).to eq 'task_user'
19
+ end
20
+
21
+ it 'demodulizes' do
22
+ expect(api.demodulize('Task::User')).to eq 'User'
23
+ end
24
+
25
+ it 'constantizes' do
26
+ expect(api.constantize('String')).to equal String
27
+ end
28
+
29
+ it 'classifies' do
30
+ expect(api.classify('task_user/name')).to eq 'TaskUser::Name'
31
+ end
32
+ end
33
+
34
+ subject(:api) { ROM::Inflector }
35
+
36
+ context 'with detected inflector' do
37
+ before do
38
+ if api.instance_variables.include?(:@inflector)
39
+ api.__send__(:remove_instance_variable, :@inflector)
40
+ end
41
+ end
42
+
43
+ it 'prefers ActiveSupport::Inflector' do
44
+ expect(api.inflector == ::ActiveSupport::Inflector).to be true
45
+ end
46
+ end
47
+
48
+ context 'with automatic detection' do
49
+ before do
50
+ if api.instance_variables.include?(:@inflector)
51
+ api.__send__(:remove_instance_variable, :@inflector)
52
+ end
53
+ end
54
+
55
+ it 'automatically selects an inflector backend' do
56
+ expect(api.inflector).not_to be nil
57
+ end
58
+ end
59
+
60
+ context 'with ActiveSupport::Inflector' do
61
+ before do
62
+ api.select_backend(:activesupport)
63
+ end
64
+
65
+ it 'is ActiveSupport::Inflector' do
66
+ expect(api.inflector).to be(::ActiveSupport::Inflector)
67
+ end
68
+
69
+ it_behaves_like 'an inflector'
70
+ end
71
+
72
+ context 'with Inflecto' do
73
+ before do
74
+ api.select_backend(:inflecto)
75
+ end
76
+
77
+ it 'is Inflecto' do
78
+ expect(api.inflector).to be(::Inflecto)
79
+ end
80
+
81
+ it_behaves_like 'an inflector'
82
+ end
83
+
84
+ context 'an unrecognized inflector library is selected' do
85
+ it 'raises a NameError' do
86
+ expect { api.select_backend(:foo) }.to raise_error(NameError)
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,119 @@
1
+ require 'spec_helper'
2
+
3
+ describe ROM::Options do
4
+ let(:klass) do
5
+ Class.new do
6
+ include ROM::Options
7
+
8
+ option :name, type: String, reader: true, allow: %w(foo bar)
9
+ option :repo, reader: true
10
+ option :other
11
+ end
12
+ end
13
+
14
+ describe '.new' do
15
+ it 'works without passing a hash' do
16
+ expect { klass.new }.not_to raise_error
17
+ end
18
+
19
+ it 'sets options hash' do
20
+ object = klass.new(name: 'foo')
21
+ expect(object.options).to eql(name: 'foo')
22
+ end
23
+
24
+ it 'allows any value when :allow is not specified' do
25
+ repo = double('repo')
26
+ object = klass.new(repo: repo)
27
+ expect(object.options).to eql(repo: repo)
28
+ end
29
+
30
+ it 'sets readers for options when specified' do
31
+ object = klass.new(name: 'bar', repo: 'default')
32
+ expect(object.name).to eql('bar')
33
+ expect(object.repo).to eql('default')
34
+ expect(object).to_not respond_to(:other)
35
+ end
36
+
37
+ it 'checks option key' do
38
+ expect { klass.new(unexpected: 'foo') }
39
+ .to raise_error(ROM::InvalidOptionKeyError, /:unexpected/)
40
+ end
41
+
42
+ it 'checks option type' do
43
+ expect { klass.new(name: :foo) }
44
+ .to raise_error(ROM::InvalidOptionValueError, /:foo/)
45
+ end
46
+
47
+ it 'checks option value' do
48
+ expect { klass.new(name: 'invalid') }
49
+ .to raise_error(ROM::InvalidOptionValueError, /invalid/)
50
+ end
51
+
52
+ it 'copies klass options to descendant' do
53
+ other = Class.new(klass).new(name: 'foo')
54
+ expect(other.options).to eql(name: 'foo')
55
+ end
56
+
57
+ it 'does not interfere with its parent`s option definitions' do
58
+ Class.new(klass) do
59
+ option :child, default: :nope
60
+ end
61
+ object = klass.new
62
+ expect(object.options).to eql({})
63
+ end
64
+
65
+ it 'sets option defaults statically' do
66
+ default_value = []
67
+ klass.option :args, default: default_value
68
+
69
+ object = klass.new
70
+
71
+ expect(object.options).to eql(args: default_value)
72
+ expect(object.options[:args]).to equal(default_value)
73
+ end
74
+
75
+ it 'sets option defaults dynamically via proc' do
76
+ klass.option :args, default: proc { |*a| a }
77
+
78
+ object = klass.new
79
+
80
+ expect(object.options).to eql(args: [object])
81
+ end
82
+
83
+ it 'allow nil as default value' do
84
+ klass.option :args, default: nil
85
+
86
+ object = klass.new
87
+
88
+ expect(object.options).to eql(args: nil)
89
+ end
90
+
91
+ it 'options are frozen' do
92
+ object = klass.new
93
+
94
+ expect { object.options[:foo] = :bar }
95
+ .to raise_error(RuntimeError, /frozen/)
96
+ end
97
+
98
+ it 'call parent`s `inherited` hook' do
99
+ m = Module.new do
100
+ def inherited(_base)
101
+ raise "hook called"
102
+ end
103
+ end
104
+ klass.extend m
105
+
106
+ expect { Class.new(klass).new }
107
+ .to raise_error(/hook called/)
108
+ end
109
+
110
+ it 'does not modify passed options' do
111
+ options = {}
112
+ klass.option :foo, default: :bar
113
+
114
+ klass.new(options)
115
+
116
+ expect(options).to eq({})
117
+ end
118
+ end
119
+ end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-31 00:00:00.000000000 Z
11
+ date: 2015-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: addressable
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.3'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.3'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: transproc
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -58,66 +44,6 @@ dependencies:
58
44
  - - ">="
59
45
  - !ruby/object:Gem::Version
60
46
  version: 0.0.9
61
- - !ruby/object:Gem::Dependency
62
- name: concord
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '0.1'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 0.1.4
71
- type: :runtime
72
- prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '0.1'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 0.1.4
81
- - !ruby/object:Gem::Dependency
82
- name: charlatan
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '0.1'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0.1'
91
- type: :runtime
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '0.1'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: '0.1'
101
- - !ruby/object:Gem::Dependency
102
- name: inflecto
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '0.0'
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 0.0.2
111
- type: :runtime
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.0'
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: 0.0.2
121
47
  - !ruby/object:Gem::Dependency
122
48
  name: rake
123
49
  requirement: !ruby/object:Gem::Requirement
@@ -138,42 +64,42 @@ dependencies:
138
64
  requirements:
139
65
  - - "~>"
140
66
  - !ruby/object:Gem::Version
141
- version: '3.1'
67
+ version: '3.2'
142
68
  type: :development
143
69
  prerelease: false
144
70
  version_requirements: !ruby/object:Gem::Requirement
145
71
  requirements:
146
72
  - - "~>"
147
73
  - !ruby/object:Gem::Version
148
- version: '3.1'
74
+ version: '3.2'
149
75
  - !ruby/object:Gem::Dependency
150
76
  name: rspec-mocks
151
77
  requirement: !ruby/object:Gem::Requirement
152
78
  requirements:
153
79
  - - "~>"
154
80
  - !ruby/object:Gem::Version
155
- version: '3.1'
81
+ version: '3.2'
156
82
  type: :development
157
83
  prerelease: false
158
84
  version_requirements: !ruby/object:Gem::Requirement
159
85
  requirements:
160
86
  - - "~>"
161
87
  - !ruby/object:Gem::Version
162
- version: '3.1'
88
+ version: '3.2'
163
89
  - !ruby/object:Gem::Dependency
164
90
  name: rspec-expectations
165
91
  requirement: !ruby/object:Gem::Requirement
166
92
  requirements:
167
93
  - - "~>"
168
94
  - !ruby/object:Gem::Version
169
- version: '3.1'
95
+ version: '3.2'
170
96
  type: :development
171
97
  prerelease: false
172
98
  version_requirements: !ruby/object:Gem::Requirement
173
99
  requirements:
174
100
  - - "~>"
175
101
  - !ruby/object:Gem::Version
176
- version: '3.1'
102
+ version: '3.2'
177
103
  description: Persistence and mapping toolkit for Ruby
178
104
  email: piotr.solnica@gmail.com
179
105
  executables: []
@@ -183,6 +109,7 @@ files:
183
109
  - ".gitignore"
184
110
  - ".rspec"
185
111
  - ".rubocop.yml"
112
+ - ".rubocop_todo.yml"
186
113
  - ".ruby-version"
187
114
  - ".travis.yml"
188
115
  - CHANGELOG.md
@@ -192,52 +119,71 @@ files:
192
119
  - README.md
193
120
  - Rakefile
194
121
  - lib/rom.rb
195
- - lib/rom/adapter.rb
196
- - lib/rom/adapter/memory.rb
197
- - lib/rom/adapter/memory/commands.rb
198
- - lib/rom/adapter/memory/dataset.rb
199
- - lib/rom/adapter/memory/storage.rb
122
+ - lib/rom/command.rb
200
123
  - lib/rom/command_registry.rb
201
124
  - lib/rom/commands.rb
125
+ - lib/rom/commands/abstract.rb
126
+ - lib/rom/commands/composite.rb
202
127
  - lib/rom/commands/create.rb
203
128
  - lib/rom/commands/delete.rb
204
129
  - lib/rom/commands/result.rb
205
130
  - lib/rom/commands/update.rb
206
- - lib/rom/commands/with_options.rb
207
- - lib/rom/config.rb
131
+ - lib/rom/constants.rb
208
132
  - lib/rom/env.rb
209
133
  - lib/rom/global.rb
210
134
  - lib/rom/header.rb
211
135
  - lib/rom/header/attribute.rb
136
+ - lib/rom/lint/enumerable_dataset.rb
137
+ - lib/rom/lint/linter.rb
138
+ - lib/rom/lint/repository.rb
139
+ - lib/rom/lint/spec.rb
140
+ - lib/rom/lint/test.rb
212
141
  - lib/rom/mapper.rb
213
- - lib/rom/mapper_builder.rb
214
- - lib/rom/mapper_builder/mapper_dsl.rb
215
- - lib/rom/mapper_builder/model_dsl.rb
142
+ - lib/rom/mapper/attribute_dsl.rb
143
+ - lib/rom/mapper/dsl.rb
144
+ - lib/rom/mapper/model_dsl.rb
216
145
  - lib/rom/mapper_registry.rb
146
+ - lib/rom/memory.rb
147
+ - lib/rom/memory/commands.rb
148
+ - lib/rom/memory/dataset.rb
149
+ - lib/rom/memory/relation.rb
150
+ - lib/rom/memory/repository.rb
151
+ - lib/rom/memory/storage.rb
217
152
  - lib/rom/model_builder.rb
218
153
  - lib/rom/processor.rb
219
154
  - lib/rom/processor/transproc.rb
220
155
  - lib/rom/reader.rb
221
- - lib/rom/reader_builder.rb
222
156
  - lib/rom/relation.rb
223
- - lib/rom/relation_builder.rb
157
+ - lib/rom/relation/composite.rb
158
+ - lib/rom/relation/curried.rb
159
+ - lib/rom/relation/lazy.rb
160
+ - lib/rom/relation/loaded.rb
161
+ - lib/rom/relation/registry_reader.rb
224
162
  - lib/rom/repository.rb
225
163
  - lib/rom/setup.rb
226
- - lib/rom/setup/base_relation_dsl.rb
227
- - lib/rom/setup/command_dsl.rb
228
164
  - lib/rom/setup/finalize.rb
229
- - lib/rom/setup/mapper_dsl.rb
230
- - lib/rom/setup/relation_dsl.rb
231
- - lib/rom/setup/schema_dsl.rb
165
+ - lib/rom/setup_dsl/command.rb
166
+ - lib/rom/setup_dsl/command_dsl.rb
167
+ - lib/rom/setup_dsl/mapper.rb
168
+ - lib/rom/setup_dsl/mapper_dsl.rb
169
+ - lib/rom/setup_dsl/relation.rb
170
+ - lib/rom/setup_dsl/setup.rb
171
+ - lib/rom/support/array_dataset.rb
172
+ - lib/rom/support/class_builder.rb
173
+ - lib/rom/support/class_macros.rb
174
+ - lib/rom/support/data_proxy.rb
175
+ - lib/rom/support/enumerable_dataset.rb
176
+ - lib/rom/support/inflector.rb
177
+ - lib/rom/support/options.rb
232
178
  - lib/rom/support/registry.rb
233
179
  - lib/rom/version.rb
180
+ - rakelib/benchmark.rake
181
+ - rakelib/mutant.rake
182
+ - rakelib/rubocop.rake
234
183
  - rom.gemspec
235
- - spec/integration/adapters/extending_relations_spec.rb
236
- - spec/integration/adapters/setting_logger_spec.rb
237
184
  - spec/integration/commands/create_spec.rb
238
185
  - spec/integration/commands/delete_spec.rb
239
186
  - spec/integration/commands/error_handling_spec.rb
240
- - spec/integration/commands/try_spec.rb
241
187
  - spec/integration/commands/update_spec.rb
242
188
  - spec/integration/mappers/deep_embedded_spec.rb
243
189
  - spec/integration/mappers/definition_dsl_spec.rb
@@ -250,27 +196,43 @@ files:
250
196
  - spec/integration/multi_repo_spec.rb
251
197
  - spec/integration/relations/reading_spec.rb
252
198
  - spec/integration/relations/registry_dsl_spec.rb
253
- - spec/integration/schema_spec.rb
199
+ - spec/integration/repositories/extending_relations_spec.rb
200
+ - spec/integration/repositories/setting_logger_spec.rb
254
201
  - spec/integration/setup_spec.rb
202
+ - spec/shared/enumerable_dataset.rb
203
+ - spec/shared/one_behavior.rb
255
204
  - spec/shared/users_and_tasks.rb
256
205
  - spec/spec_helper.rb
206
+ - spec/support/constant_leak_finder.rb
257
207
  - spec/support/mutant.rb
258
- - spec/unit/config_spec.rb
259
- - spec/unit/rom/adapter/memory/dataset_spec.rb
260
- - spec/unit/rom/adapter_spec.rb
208
+ - spec/test/memory_repository_lint_test.rb
209
+ - spec/unit/rom/command_registry_spec.rb
210
+ - spec/unit/rom/commands/result_spec.rb
211
+ - spec/unit/rom/commands_spec.rb
261
212
  - spec/unit/rom/env_spec.rb
213
+ - spec/unit/rom/global_spec.rb
262
214
  - spec/unit/rom/header_spec.rb
263
- - spec/unit/rom/mapper_builder_spec.rb
215
+ - spec/unit/rom/mapper/dsl_spec.rb
264
216
  - spec/unit/rom/mapper_registry_spec.rb
265
217
  - spec/unit/rom/mapper_spec.rb
218
+ - spec/unit/rom/memory/dataset_spec.rb
219
+ - spec/unit/rom/memory/repository_spec.rb
220
+ - spec/unit/rom/memory/storage_spec.rb
266
221
  - spec/unit/rom/model_builder_spec.rb
267
222
  - spec/unit/rom/processor/transproc_spec.rb
268
223
  - spec/unit/rom/reader_spec.rb
269
224
  - spec/unit/rom/registry_spec.rb
225
+ - spec/unit/rom/relation/composite_spec.rb
226
+ - spec/unit/rom/relation/lazy_spec.rb
227
+ - spec/unit/rom/relation/loaded_spec.rb
270
228
  - spec/unit/rom/relation_spec.rb
271
229
  - spec/unit/rom/repository_spec.rb
272
230
  - spec/unit/rom/setup_spec.rb
273
- - spec/unit/rom_spec.rb
231
+ - spec/unit/rom/support/array_dataset_spec.rb
232
+ - spec/unit/rom/support/class_builder_spec.rb
233
+ - spec/unit/rom/support/enumerable_dataset_spec.rb
234
+ - spec/unit/rom/support/inflector_spec.rb
235
+ - spec/unit/rom/support/options_spec.rb
274
236
  homepage: http://rom-rb.org
275
237
  licenses:
276
238
  - MIT
@@ -281,14 +243,14 @@ require_paths:
281
243
  - lib
282
244
  required_ruby_version: !ruby/object:Gem::Requirement
283
245
  requirements:
284
- - - ">="
246
+ - - "~>"
285
247
  - !ruby/object:Gem::Version
286
- version: '0'
248
+ version: '2.0'
287
249
  required_rubygems_version: !ruby/object:Gem::Requirement
288
250
  requirements:
289
- - - ">="
251
+ - - ">"
290
252
  - !ruby/object:Gem::Version
291
- version: '0'
253
+ version: 1.3.1
292
254
  requirements: []
293
255
  rubyforge_project:
294
256
  rubygems_version: 2.2.2