dbee 2.0.2 → 3.0.0

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.
data/spec/spec_helper.rb CHANGED
@@ -9,6 +9,13 @@
9
9
 
10
10
  require 'yaml'
11
11
  require 'pry'
12
+ require 'pry-byebug'
13
+
14
+ RSpec.configure do |config|
15
+ # Allow for disabling auto focus mode in certain environments like CI to
16
+ # prevent false positives when only a subset of the suite passes.
17
+ config.filter_run_when_matching :focus unless ENV['DISABLE_RSPEC_FOCUS'] == 'true'
18
+ end
12
19
 
13
20
  unless ENV['DISABLE_SIMPLECOV'] == 'true'
14
21
  require 'simplecov'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Ruggio
8
- autorequire:
9
- bindir: bin
8
+ autorequire:
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-07 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acts_as_hashable
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '1'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.1.0
22
+ version: 1.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '1'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.1.0
32
+ version: 1.2.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: dry-inflector
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: pry-byebug
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: rake
77
91
  requirement: !ruby/object:Gem::Requirement
@@ -106,50 +120,77 @@ dependencies:
106
120
  requirements:
107
121
  - - "~>"
108
122
  - !ruby/object:Gem::Version
109
- version: 0.76.0
123
+ version: '1'
110
124
  type: :development
111
125
  prerelease: false
112
126
  version_requirements: !ruby/object:Gem::Requirement
113
127
  requirements:
114
128
  - - "~>"
115
129
  - !ruby/object:Gem::Version
116
- version: 0.76.0
130
+ version: '1'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop-rake
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rubocop-rspec
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
117
159
  - !ruby/object:Gem::Dependency
118
160
  name: simplecov
119
161
  requirement: !ruby/object:Gem::Requirement
120
162
  requirements:
121
163
  - - "~>"
122
164
  - !ruby/object:Gem::Version
123
- version: 0.17.0
165
+ version: 0.19.0
124
166
  type: :development
125
167
  prerelease: false
126
168
  version_requirements: !ruby/object:Gem::Requirement
127
169
  requirements:
128
170
  - - "~>"
129
171
  - !ruby/object:Gem::Version
130
- version: 0.17.0
172
+ version: 0.19.0
131
173
  - !ruby/object:Gem::Dependency
132
174
  name: simplecov-console
133
175
  requirement: !ruby/object:Gem::Requirement
134
176
  requirements:
135
177
  - - "~>"
136
178
  - !ruby/object:Gem::Version
137
- version: 0.5.0
179
+ version: 0.7.0
138
180
  type: :development
139
181
  prerelease: false
140
182
  version_requirements: !ruby/object:Gem::Requirement
141
183
  requirements:
142
184
  - - "~>"
143
185
  - !ruby/object:Gem::Version
144
- version: 0.5.0
186
+ version: 0.7.0
145
187
  description: " Dbee provides a simple-to-use data modeling and query API. The
146
188
  query API can produce SQL using other ORMs, such as Arel/ActiveRecord. The targeted
147
189
  use-case for Dbee is ad-hoc reporting, so the total SQL feature-set that Dbee supports
148
190
  is rather limited.\n"
149
191
  email:
150
192
  - mruggio@bluemarblepayroll.com
151
- executables:
152
- - console
193
+ executables: []
153
194
  extensions: []
154
195
  extra_rdoc_files: []
155
196
  files:
@@ -167,12 +208,15 @@ files:
167
208
  - Rakefile
168
209
  - bin/console
169
210
  - dbee.gemspec
211
+ - exe/.gitkeep
170
212
  - lib/dbee.rb
171
213
  - lib/dbee/base.rb
214
+ - lib/dbee/constant_resolver.rb
172
215
  - lib/dbee/dsl/association.rb
173
216
  - lib/dbee/dsl/association_builder.rb
174
217
  - lib/dbee/dsl/methods.rb
175
218
  - lib/dbee/dsl/reflectable.rb
219
+ - lib/dbee/dsl_schema_builder.rb
176
220
  - lib/dbee/key_chain.rb
177
221
  - lib/dbee/key_path.rb
178
222
  - lib/dbee/model.rb
@@ -181,6 +225,8 @@ files:
181
225
  - lib/dbee/model/constraints/reference.rb
182
226
  - lib/dbee/model/constraints/static.rb
183
227
  - lib/dbee/model/partitioner.rb
228
+ - lib/dbee/model/relationships.rb
229
+ - lib/dbee/model/relationships/basic.rb
184
230
  - lib/dbee/providers.rb
185
231
  - lib/dbee/providers/null_provider.rb
186
232
  - lib/dbee/query.rb
@@ -201,8 +247,14 @@ files:
201
247
  - lib/dbee/query/sorters/ascending.rb
202
248
  - lib/dbee/query/sorters/base.rb
203
249
  - lib/dbee/query/sorters/descending.rb
250
+ - lib/dbee/schema.rb
251
+ - lib/dbee/schema_creator.rb
252
+ - lib/dbee/schema_from_tree_based_model.rb
253
+ - lib/dbee/util/make_keyed_by.rb
204
254
  - lib/dbee/version.rb
205
255
  - spec/dbee/base_spec.rb
256
+ - spec/dbee/constant_resolver_spec.rb
257
+ - spec/dbee/dsl_schema_builder_spec.rb
206
258
  - spec/dbee/key_chain_spec.rb
207
259
  - spec/dbee/key_path_spec.rb
208
260
  - spec/dbee/model/constraints/base_spec.rb
@@ -218,6 +270,9 @@ files:
218
270
  - spec/dbee/query/sorters/base_spec.rb
219
271
  - spec/dbee/query/sorters/descending_spec.rb
220
272
  - spec/dbee/query_spec.rb
273
+ - spec/dbee/schema_creator_spec.rb
274
+ - spec/dbee/schema_from_tree_based_model_spec.rb
275
+ - spec/dbee/schema_spec.rb
221
276
  - spec/dbee_spec.rb
222
277
  - spec/fixtures/models.rb
223
278
  - spec/fixtures/models.yaml
@@ -225,8 +280,13 @@ files:
225
280
  homepage: https://github.com/bluemarblepayroll/dbee
226
281
  licenses:
227
282
  - MIT
228
- metadata: {}
229
- post_install_message:
283
+ metadata:
284
+ bug_tracker_uri: https://github.com/bluemarblepayroll/dbee/issues
285
+ changelog_uri: https://github.com/bluemarblepayroll/dbee/blob/master/CHANGELOG.md
286
+ documentation_uri: https://www.rubydoc.info/gems/dbee
287
+ homepage_uri: https://github.com/bluemarblepayroll/dbee
288
+ source_code_uri: https://github.com/bluemarblepayroll/dbee
289
+ post_install_message:
230
290
  rdoc_options: []
231
291
  require_paths:
232
292
  - lib
@@ -234,7 +294,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
294
  requirements:
235
295
  - - ">="
236
296
  - !ruby/object:Gem::Version
237
- version: 2.3.8
297
+ version: '2.5'
238
298
  required_rubygems_version: !ruby/object:Gem::Requirement
239
299
  requirements:
240
300
  - - ">="
@@ -242,11 +302,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
302
  version: '0'
243
303
  requirements: []
244
304
  rubygems_version: 3.0.3
245
- signing_key:
305
+ signing_key:
246
306
  specification_version: 4
247
307
  summary: Adhoc Reporting SQL Generator
248
308
  test_files:
249
309
  - spec/dbee/base_spec.rb
310
+ - spec/dbee/constant_resolver_spec.rb
311
+ - spec/dbee/dsl_schema_builder_spec.rb
250
312
  - spec/dbee/key_chain_spec.rb
251
313
  - spec/dbee/key_path_spec.rb
252
314
  - spec/dbee/model/constraints/base_spec.rb
@@ -262,6 +324,9 @@ test_files:
262
324
  - spec/dbee/query/sorters/base_spec.rb
263
325
  - spec/dbee/query/sorters/descending_spec.rb
264
326
  - spec/dbee/query_spec.rb
327
+ - spec/dbee/schema_creator_spec.rb
328
+ - spec/dbee/schema_from_tree_based_model_spec.rb
329
+ - spec/dbee/schema_spec.rb
265
330
  - spec/dbee_spec.rb
266
331
  - spec/fixtures/models.rb
267
332
  - spec/fixtures/models.yaml