elasticgraph-schema_definition 0.18.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +7 -0
  4. data/elasticgraph-schema_definition.gemspec +26 -0
  5. data/lib/elastic_graph/schema_definition/api.rb +359 -0
  6. data/lib/elastic_graph/schema_definition/factory.rb +506 -0
  7. data/lib/elastic_graph/schema_definition/indexing/derived_fields/append_only_set.rb +79 -0
  8. data/lib/elastic_graph/schema_definition/indexing/derived_fields/field_initializer_support.rb +59 -0
  9. data/lib/elastic_graph/schema_definition/indexing/derived_fields/immutable_value.rb +99 -0
  10. data/lib/elastic_graph/schema_definition/indexing/derived_fields/min_or_max_value.rb +62 -0
  11. data/lib/elastic_graph/schema_definition/indexing/derived_indexed_type.rb +346 -0
  12. data/lib/elastic_graph/schema_definition/indexing/event_envelope.rb +74 -0
  13. data/lib/elastic_graph/schema_definition/indexing/field.rb +181 -0
  14. data/lib/elastic_graph/schema_definition/indexing/field_reference.rb +51 -0
  15. data/lib/elastic_graph/schema_definition/indexing/field_type/enum.rb +65 -0
  16. data/lib/elastic_graph/schema_definition/indexing/field_type/object.rb +113 -0
  17. data/lib/elastic_graph/schema_definition/indexing/field_type/scalar.rb +51 -0
  18. data/lib/elastic_graph/schema_definition/indexing/field_type/union.rb +70 -0
  19. data/lib/elastic_graph/schema_definition/indexing/index.rb +318 -0
  20. data/lib/elastic_graph/schema_definition/indexing/json_schema_field_metadata.rb +34 -0
  21. data/lib/elastic_graph/schema_definition/indexing/json_schema_with_metadata.rb +234 -0
  22. data/lib/elastic_graph/schema_definition/indexing/list_counts_mapping.rb +53 -0
  23. data/lib/elastic_graph/schema_definition/indexing/relationship_resolver.rb +96 -0
  24. data/lib/elastic_graph/schema_definition/indexing/rollover_config.rb +25 -0
  25. data/lib/elastic_graph/schema_definition/indexing/update_target_factory.rb +54 -0
  26. data/lib/elastic_graph/schema_definition/indexing/update_target_resolver.rb +195 -0
  27. data/lib/elastic_graph/schema_definition/json_schema_pruner.rb +61 -0
  28. data/lib/elastic_graph/schema_definition/mixins/can_be_graphql_only.rb +31 -0
  29. data/lib/elastic_graph/schema_definition/mixins/has_derived_graphql_type_customizations.rb +119 -0
  30. data/lib/elastic_graph/schema_definition/mixins/has_directives.rb +65 -0
  31. data/lib/elastic_graph/schema_definition/mixins/has_documentation.rb +74 -0
  32. data/lib/elastic_graph/schema_definition/mixins/has_indices.rb +281 -0
  33. data/lib/elastic_graph/schema_definition/mixins/has_readable_to_s_and_inspect.rb +46 -0
  34. data/lib/elastic_graph/schema_definition/mixins/has_subtypes.rb +116 -0
  35. data/lib/elastic_graph/schema_definition/mixins/has_type_info.rb +181 -0
  36. data/lib/elastic_graph/schema_definition/mixins/implements_interfaces.rb +122 -0
  37. data/lib/elastic_graph/schema_definition/mixins/supports_default_value.rb +47 -0
  38. data/lib/elastic_graph/schema_definition/mixins/supports_filtering_and_aggregation.rb +267 -0
  39. data/lib/elastic_graph/schema_definition/mixins/verifies_graphql_name.rb +38 -0
  40. data/lib/elastic_graph/schema_definition/rake_tasks.rb +190 -0
  41. data/lib/elastic_graph/schema_definition/results.rb +404 -0
  42. data/lib/elastic_graph/schema_definition/schema_artifact_manager.rb +482 -0
  43. data/lib/elastic_graph/schema_definition/schema_elements/argument.rb +56 -0
  44. data/lib/elastic_graph/schema_definition/schema_elements/built_in_types.rb +1541 -0
  45. data/lib/elastic_graph/schema_definition/schema_elements/deprecated_element.rb +21 -0
  46. data/lib/elastic_graph/schema_definition/schema_elements/directive.rb +40 -0
  47. data/lib/elastic_graph/schema_definition/schema_elements/enum_type.rb +189 -0
  48. data/lib/elastic_graph/schema_definition/schema_elements/enum_value.rb +73 -0
  49. data/lib/elastic_graph/schema_definition/schema_elements/enum_value_namer.rb +89 -0
  50. data/lib/elastic_graph/schema_definition/schema_elements/enums_for_indexed_types.rb +82 -0
  51. data/lib/elastic_graph/schema_definition/schema_elements/field.rb +1085 -0
  52. data/lib/elastic_graph/schema_definition/schema_elements/field_path.rb +112 -0
  53. data/lib/elastic_graph/schema_definition/schema_elements/field_source.rb +16 -0
  54. data/lib/elastic_graph/schema_definition/schema_elements/graphql_sdl_enumerator.rb +113 -0
  55. data/lib/elastic_graph/schema_definition/schema_elements/input_field.rb +31 -0
  56. data/lib/elastic_graph/schema_definition/schema_elements/input_type.rb +60 -0
  57. data/lib/elastic_graph/schema_definition/schema_elements/interface_type.rb +72 -0
  58. data/lib/elastic_graph/schema_definition/schema_elements/list_counts_state.rb +40 -0
  59. data/lib/elastic_graph/schema_definition/schema_elements/object_type.rb +53 -0
  60. data/lib/elastic_graph/schema_definition/schema_elements/relationship.rb +218 -0
  61. data/lib/elastic_graph/schema_definition/schema_elements/scalar_type.rb +310 -0
  62. data/lib/elastic_graph/schema_definition/schema_elements/sort_order_enum_value.rb +36 -0
  63. data/lib/elastic_graph/schema_definition/schema_elements/sub_aggregation_path.rb +66 -0
  64. data/lib/elastic_graph/schema_definition/schema_elements/type_namer.rb +237 -0
  65. data/lib/elastic_graph/schema_definition/schema_elements/type_reference.rb +353 -0
  66. data/lib/elastic_graph/schema_definition/schema_elements/type_with_subfields.rb +579 -0
  67. data/lib/elastic_graph/schema_definition/schema_elements/union_type.rb +157 -0
  68. data/lib/elastic_graph/schema_definition/scripting/file_system_repository.rb +77 -0
  69. data/lib/elastic_graph/schema_definition/scripting/script.rb +48 -0
  70. data/lib/elastic_graph/schema_definition/scripting/scripts/field/as_day_of_week.painless +24 -0
  71. data/lib/elastic_graph/schema_definition/scripting/scripts/field/as_time_of_day.painless +41 -0
  72. data/lib/elastic_graph/schema_definition/scripting/scripts/filter/by_time_of_day.painless +22 -0
  73. data/lib/elastic_graph/schema_definition/scripting/scripts/update/index_data.painless +93 -0
  74. data/lib/elastic_graph/schema_definition/state.rb +212 -0
  75. data/lib/elastic_graph/schema_definition/test_support.rb +113 -0
  76. metadata +513 -0
@@ -0,0 +1,113 @@
1
+ # Copyright 2024 Block, Inc.
2
+ #
3
+ # Use of this source code is governed by an MIT-style
4
+ # license that can be found in the LICENSE file or at
5
+ # https://opensource.org/licenses/MIT.
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require "elastic_graph/error"
10
+ require "elastic_graph/schema_definition/api"
11
+ require "elastic_graph/schema_artifacts/runtime_metadata/schema_element_names"
12
+
13
+ module ElasticGraph
14
+ module SchemaDefinition
15
+ # Mixin designed to facilitate writing tests that define schemas.
16
+ #
17
+ # @private
18
+ module TestSupport
19
+ extend self
20
+
21
+ def define_schema(
22
+ schema_element_name_form:,
23
+ schema_element_name_overrides: {},
24
+ index_document_sizes: true,
25
+ json_schema_version: 1,
26
+ extension_modules: [],
27
+ derived_type_name_formats: {},
28
+ type_name_overrides: {},
29
+ enum_value_overrides_by_type: {},
30
+ output: nil,
31
+ &block
32
+ )
33
+ schema_elements = SchemaArtifacts::RuntimeMetadata::SchemaElementNames.new(
34
+ form: schema_element_name_form,
35
+ overrides: schema_element_name_overrides
36
+ )
37
+
38
+ define_schema_with_schema_elements(
39
+ schema_elements,
40
+ index_document_sizes: index_document_sizes,
41
+ json_schema_version: json_schema_version,
42
+ extension_modules: extension_modules,
43
+ derived_type_name_formats: derived_type_name_formats,
44
+ type_name_overrides: type_name_overrides,
45
+ enum_value_overrides_by_type: enum_value_overrides_by_type,
46
+ output: output,
47
+ &block
48
+ )
49
+ end
50
+
51
+ def define_schema_with_schema_elements(
52
+ schema_elements,
53
+ index_document_sizes: true,
54
+ json_schema_version: 1,
55
+ extension_modules: [],
56
+ derived_type_name_formats: {},
57
+ type_name_overrides: {},
58
+ enum_value_overrides_by_type: {},
59
+ output: nil
60
+ )
61
+ api = API.new(
62
+ schema_elements,
63
+ index_document_sizes,
64
+ extension_modules: extension_modules,
65
+ derived_type_name_formats: derived_type_name_formats,
66
+ type_name_overrides: type_name_overrides,
67
+ enum_value_overrides_by_type: enum_value_overrides_by_type,
68
+ output: output || $stdout
69
+ )
70
+
71
+ yield api if block_given?
72
+
73
+ # Set the json_schema_version to the provided value, if needed.
74
+ if !json_schema_version.nil? && api.state.json_schema_version.nil?
75
+ api.json_schema_version json_schema_version
76
+ end
77
+
78
+ api.results
79
+ end
80
+
81
+ DOC_COMMENTS = (
82
+ '(?:^ *"""\\n' + # opening sequence of `"""` on its own line.
83
+ '(?:[^"]|(?:"(?!")))*' + # any sequence characters with no `""` sequence. (either no `"` or `"` is not followed by another)
84
+ '\\n *"""\\n)' # closing sequence of `"""` on its own line.
85
+ )
86
+
87
+ def type_def_from(sdl, type, include_docs: false)
88
+ type_def_keyword = '^(type|input|enum|union|interface|scalar|directive)\b'
89
+ # capture from the start of the type definition for `type` until the next type definition (or `\z` for end of string)
90
+ type_extraction_regex = /(#{DOC_COMMENTS}?#{type_def_keyword} #{type}\b.*?)(?:(?:#{DOC_COMMENTS}?#{type_def_keyword})|\z)/m
91
+ # type_defs = sdl.scan(type_extraction_regex).map(&:first)
92
+ type_defs = sdl.scan(type_extraction_regex).map { |match| [match].flatten.first }
93
+
94
+ if type_defs.size >= 2
95
+ # :nocov: -- only executed when a mistake has been made; causes a failing test.
96
+ raise SchemaError,
97
+ "Expected to find 0 or 1 type definition for #{type}, but found #{type_defs.size}. Type defs:\n\n#{type_defs.join("\n\n")}"
98
+ # :nocov:
99
+ end
100
+
101
+ result = type_defs.first&.strip
102
+ result &&= strip_docs(result) unless include_docs
103
+ result
104
+ end
105
+
106
+ def strip_docs(string)
107
+ string
108
+ .gsub(/#{DOC_COMMENTS}/o, "") # strip doc comments
109
+ .gsub("\n\n", "\n") # cleanup formatting so we don't have extra blank lines.
110
+ end
111
+ end
112
+ end
113
+ end
metadata ADDED
@@ -0,0 +1,513 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elasticgraph-schema_definition
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.18.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Myron Marston
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-08-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop-factory_bot
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.26'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.26'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: standard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.39.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.39.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: steep
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: coderay
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: flatware-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 2.3.2
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '3.0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: 2.3.2
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rspec
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.13'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.13'
131
+ - !ruby/object:Gem::Dependency
132
+ name: super_diff
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: 0.12.1
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 0.12.1
145
+ - !ruby/object:Gem::Dependency
146
+ name: simplecov
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.22'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0.22'
159
+ - !ruby/object:Gem::Dependency
160
+ name: simplecov-console
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 0.9.1
166
+ - - "<"
167
+ - !ruby/object:Gem::Version
168
+ version: '1.0'
169
+ type: :development
170
+ prerelease: false
171
+ version_requirements: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 0.9.1
176
+ - - "<"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.0'
179
+ - !ruby/object:Gem::Dependency
180
+ name: httpx
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: 1.2.6
186
+ - - "<"
187
+ - !ruby/object:Gem::Version
188
+ version: '2.0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: 1.2.6
196
+ - - "<"
197
+ - !ruby/object:Gem::Version
198
+ version: '2.0'
199
+ - !ruby/object:Gem::Dependency
200
+ name: method_source
201
+ requirement: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - "~>"
204
+ - !ruby/object:Gem::Version
205
+ version: '1.1'
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - "~>"
211
+ - !ruby/object:Gem::Version
212
+ version: '1.1'
213
+ - !ruby/object:Gem::Dependency
214
+ name: rspec-retry
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: '0.6'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - "~>"
225
+ - !ruby/object:Gem::Version
226
+ version: '0.6'
227
+ - !ruby/object:Gem::Dependency
228
+ name: vcr
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: 6.3.1
234
+ - - "<"
235
+ - !ruby/object:Gem::Version
236
+ version: 7.0.0
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: 6.3.1
244
+ - - "<"
245
+ - !ruby/object:Gem::Version
246
+ version: 7.0.0
247
+ - !ruby/object:Gem::Dependency
248
+ name: elasticgraph-graphql
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - '='
252
+ - !ruby/object:Gem::Version
253
+ version: 0.18.0.0
254
+ type: :runtime
255
+ prerelease: false
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - '='
259
+ - !ruby/object:Gem::Version
260
+ version: 0.18.0.0
261
+ - !ruby/object:Gem::Dependency
262
+ name: elasticgraph-indexer
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - '='
266
+ - !ruby/object:Gem::Version
267
+ version: 0.18.0.0
268
+ type: :runtime
269
+ prerelease: false
270
+ version_requirements: !ruby/object:Gem::Requirement
271
+ requirements:
272
+ - - '='
273
+ - !ruby/object:Gem::Version
274
+ version: 0.18.0.0
275
+ - !ruby/object:Gem::Dependency
276
+ name: elasticgraph-json_schema
277
+ requirement: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - '='
280
+ - !ruby/object:Gem::Version
281
+ version: 0.18.0.0
282
+ type: :runtime
283
+ prerelease: false
284
+ version_requirements: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - '='
287
+ - !ruby/object:Gem::Version
288
+ version: 0.18.0.0
289
+ - !ruby/object:Gem::Dependency
290
+ name: elasticgraph-schema_artifacts
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - '='
294
+ - !ruby/object:Gem::Version
295
+ version: 0.18.0.0
296
+ type: :runtime
297
+ prerelease: false
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ requirements:
300
+ - - '='
301
+ - !ruby/object:Gem::Version
302
+ version: 0.18.0.0
303
+ - !ruby/object:Gem::Dependency
304
+ name: elasticgraph-support
305
+ requirement: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - '='
308
+ - !ruby/object:Gem::Version
309
+ version: 0.18.0.0
310
+ type: :runtime
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ requirements:
314
+ - - '='
315
+ - !ruby/object:Gem::Version
316
+ version: 0.18.0.0
317
+ - !ruby/object:Gem::Dependency
318
+ name: graphql
319
+ requirement: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: 2.3.7
324
+ - - "<"
325
+ - !ruby/object:Gem::Version
326
+ version: '2.4'
327
+ type: :runtime
328
+ prerelease: false
329
+ version_requirements: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - ">="
332
+ - !ruby/object:Gem::Version
333
+ version: 2.3.7
334
+ - - "<"
335
+ - !ruby/object:Gem::Version
336
+ version: '2.4'
337
+ - !ruby/object:Gem::Dependency
338
+ name: rake
339
+ requirement: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - "~>"
342
+ - !ruby/object:Gem::Version
343
+ version: '13.2'
344
+ type: :runtime
345
+ prerelease: false
346
+ version_requirements: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - "~>"
349
+ - !ruby/object:Gem::Version
350
+ version: '13.2'
351
+ - !ruby/object:Gem::Dependency
352
+ name: elasticgraph-admin
353
+ requirement: !ruby/object:Gem::Requirement
354
+ requirements:
355
+ - - '='
356
+ - !ruby/object:Gem::Version
357
+ version: 0.18.0.0
358
+ type: :development
359
+ prerelease: false
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - '='
363
+ - !ruby/object:Gem::Version
364
+ version: 0.18.0.0
365
+ - !ruby/object:Gem::Dependency
366
+ name: elasticgraph-datastore_core
367
+ requirement: !ruby/object:Gem::Requirement
368
+ requirements:
369
+ - - '='
370
+ - !ruby/object:Gem::Version
371
+ version: 0.18.0.0
372
+ type: :development
373
+ prerelease: false
374
+ version_requirements: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - '='
377
+ - !ruby/object:Gem::Version
378
+ version: 0.18.0.0
379
+ - !ruby/object:Gem::Dependency
380
+ name: elasticgraph-elasticsearch
381
+ requirement: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - '='
384
+ - !ruby/object:Gem::Version
385
+ version: 0.18.0.0
386
+ type: :development
387
+ prerelease: false
388
+ version_requirements: !ruby/object:Gem::Requirement
389
+ requirements:
390
+ - - '='
391
+ - !ruby/object:Gem::Version
392
+ version: 0.18.0.0
393
+ - !ruby/object:Gem::Dependency
394
+ name: elasticgraph-opensearch
395
+ requirement: !ruby/object:Gem::Requirement
396
+ requirements:
397
+ - - '='
398
+ - !ruby/object:Gem::Version
399
+ version: 0.18.0.0
400
+ type: :development
401
+ prerelease: false
402
+ version_requirements: !ruby/object:Gem::Requirement
403
+ requirements:
404
+ - - '='
405
+ - !ruby/object:Gem::Version
406
+ version: 0.18.0.0
407
+ description:
408
+ email:
409
+ - myron@squareup.com
410
+ executables: []
411
+ extensions: []
412
+ extra_rdoc_files: []
413
+ files:
414
+ - LICENSE.txt
415
+ - README.md
416
+ - elasticgraph-schema_definition.gemspec
417
+ - lib/elastic_graph/schema_definition/api.rb
418
+ - lib/elastic_graph/schema_definition/factory.rb
419
+ - lib/elastic_graph/schema_definition/indexing/derived_fields/append_only_set.rb
420
+ - lib/elastic_graph/schema_definition/indexing/derived_fields/field_initializer_support.rb
421
+ - lib/elastic_graph/schema_definition/indexing/derived_fields/immutable_value.rb
422
+ - lib/elastic_graph/schema_definition/indexing/derived_fields/min_or_max_value.rb
423
+ - lib/elastic_graph/schema_definition/indexing/derived_indexed_type.rb
424
+ - lib/elastic_graph/schema_definition/indexing/event_envelope.rb
425
+ - lib/elastic_graph/schema_definition/indexing/field.rb
426
+ - lib/elastic_graph/schema_definition/indexing/field_reference.rb
427
+ - lib/elastic_graph/schema_definition/indexing/field_type/enum.rb
428
+ - lib/elastic_graph/schema_definition/indexing/field_type/object.rb
429
+ - lib/elastic_graph/schema_definition/indexing/field_type/scalar.rb
430
+ - lib/elastic_graph/schema_definition/indexing/field_type/union.rb
431
+ - lib/elastic_graph/schema_definition/indexing/index.rb
432
+ - lib/elastic_graph/schema_definition/indexing/json_schema_field_metadata.rb
433
+ - lib/elastic_graph/schema_definition/indexing/json_schema_with_metadata.rb
434
+ - lib/elastic_graph/schema_definition/indexing/list_counts_mapping.rb
435
+ - lib/elastic_graph/schema_definition/indexing/relationship_resolver.rb
436
+ - lib/elastic_graph/schema_definition/indexing/rollover_config.rb
437
+ - lib/elastic_graph/schema_definition/indexing/update_target_factory.rb
438
+ - lib/elastic_graph/schema_definition/indexing/update_target_resolver.rb
439
+ - lib/elastic_graph/schema_definition/json_schema_pruner.rb
440
+ - lib/elastic_graph/schema_definition/mixins/can_be_graphql_only.rb
441
+ - lib/elastic_graph/schema_definition/mixins/has_derived_graphql_type_customizations.rb
442
+ - lib/elastic_graph/schema_definition/mixins/has_directives.rb
443
+ - lib/elastic_graph/schema_definition/mixins/has_documentation.rb
444
+ - lib/elastic_graph/schema_definition/mixins/has_indices.rb
445
+ - lib/elastic_graph/schema_definition/mixins/has_readable_to_s_and_inspect.rb
446
+ - lib/elastic_graph/schema_definition/mixins/has_subtypes.rb
447
+ - lib/elastic_graph/schema_definition/mixins/has_type_info.rb
448
+ - lib/elastic_graph/schema_definition/mixins/implements_interfaces.rb
449
+ - lib/elastic_graph/schema_definition/mixins/supports_default_value.rb
450
+ - lib/elastic_graph/schema_definition/mixins/supports_filtering_and_aggregation.rb
451
+ - lib/elastic_graph/schema_definition/mixins/verifies_graphql_name.rb
452
+ - lib/elastic_graph/schema_definition/rake_tasks.rb
453
+ - lib/elastic_graph/schema_definition/results.rb
454
+ - lib/elastic_graph/schema_definition/schema_artifact_manager.rb
455
+ - lib/elastic_graph/schema_definition/schema_elements/argument.rb
456
+ - lib/elastic_graph/schema_definition/schema_elements/built_in_types.rb
457
+ - lib/elastic_graph/schema_definition/schema_elements/deprecated_element.rb
458
+ - lib/elastic_graph/schema_definition/schema_elements/directive.rb
459
+ - lib/elastic_graph/schema_definition/schema_elements/enum_type.rb
460
+ - lib/elastic_graph/schema_definition/schema_elements/enum_value.rb
461
+ - lib/elastic_graph/schema_definition/schema_elements/enum_value_namer.rb
462
+ - lib/elastic_graph/schema_definition/schema_elements/enums_for_indexed_types.rb
463
+ - lib/elastic_graph/schema_definition/schema_elements/field.rb
464
+ - lib/elastic_graph/schema_definition/schema_elements/field_path.rb
465
+ - lib/elastic_graph/schema_definition/schema_elements/field_source.rb
466
+ - lib/elastic_graph/schema_definition/schema_elements/graphql_sdl_enumerator.rb
467
+ - lib/elastic_graph/schema_definition/schema_elements/input_field.rb
468
+ - lib/elastic_graph/schema_definition/schema_elements/input_type.rb
469
+ - lib/elastic_graph/schema_definition/schema_elements/interface_type.rb
470
+ - lib/elastic_graph/schema_definition/schema_elements/list_counts_state.rb
471
+ - lib/elastic_graph/schema_definition/schema_elements/object_type.rb
472
+ - lib/elastic_graph/schema_definition/schema_elements/relationship.rb
473
+ - lib/elastic_graph/schema_definition/schema_elements/scalar_type.rb
474
+ - lib/elastic_graph/schema_definition/schema_elements/sort_order_enum_value.rb
475
+ - lib/elastic_graph/schema_definition/schema_elements/sub_aggregation_path.rb
476
+ - lib/elastic_graph/schema_definition/schema_elements/type_namer.rb
477
+ - lib/elastic_graph/schema_definition/schema_elements/type_reference.rb
478
+ - lib/elastic_graph/schema_definition/schema_elements/type_with_subfields.rb
479
+ - lib/elastic_graph/schema_definition/schema_elements/union_type.rb
480
+ - lib/elastic_graph/schema_definition/scripting/file_system_repository.rb
481
+ - lib/elastic_graph/schema_definition/scripting/script.rb
482
+ - lib/elastic_graph/schema_definition/scripting/scripts/field/as_day_of_week.painless
483
+ - lib/elastic_graph/schema_definition/scripting/scripts/field/as_time_of_day.painless
484
+ - lib/elastic_graph/schema_definition/scripting/scripts/filter/by_time_of_day.painless
485
+ - lib/elastic_graph/schema_definition/scripting/scripts/update/index_data.painless
486
+ - lib/elastic_graph/schema_definition/state.rb
487
+ - lib/elastic_graph/schema_definition/test_support.rb
488
+ homepage:
489
+ licenses:
490
+ - MIT
491
+ metadata:
492
+ gem_category: local
493
+ post_install_message:
494
+ rdoc_options: []
495
+ require_paths:
496
+ - lib
497
+ required_ruby_version: !ruby/object:Gem::Requirement
498
+ requirements:
499
+ - - "~>"
500
+ - !ruby/object:Gem::Version
501
+ version: '3.2'
502
+ required_rubygems_version: !ruby/object:Gem::Requirement
503
+ requirements:
504
+ - - ">="
505
+ - !ruby/object:Gem::Version
506
+ version: '0'
507
+ requirements: []
508
+ rubygems_version: 3.5.9
509
+ signing_key:
510
+ specification_version: 4
511
+ summary: ElasticGraph gem that provides the schema definition API and generates schema
512
+ artifacts.
513
+ test_files: []