elasticgraph-schema_definition 0.18.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.
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: []