elasticgraph-schema_definition 0.19.0.0 → 0.19.1.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.
- checksums.yaml +4 -4
- data/lib/elastic_graph/schema_definition/api.rb +1 -1
- data/lib/elastic_graph/schema_definition/indexing/index.rb +36 -30
- data/lib/elastic_graph/schema_definition/indexing/relationship_resolver.rb +4 -5
- data/lib/elastic_graph/schema_definition/results.rb +3 -6
- data/lib/elastic_graph/schema_definition/schema_elements/built_in_types.rb +2 -1
- data/lib/elastic_graph/schema_definition/schema_elements/field.rb +1 -1
- data/lib/elastic_graph/schema_definition/schema_elements/field_path.rb +10 -6
- data/lib/elastic_graph/schema_definition/schema_elements/relationship.rb +9 -4
- data/lib/elastic_graph/schema_definition/schema_elements/type_with_subfields.rb +2 -2
- data/lib/elastic_graph/schema_definition/state.rb +11 -0
- metadata +27 -247
- data/elasticgraph-schema_definition.gemspec +0 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2bad8ee40e50f129a96e49bb037b85629e4fd447e85aec1c3ea2dc8aac1bf39b
|
|
4
|
+
data.tar.gz: aafa9a925ef1f34539655cf1328d26b563042b6f510e6956a669bcffb36f687c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42ab4e1236efe8d3abe27f3a362e738df0e9146f95fccb6019e74172ad03f898fb97af989cbbe01074ae16208f0ac16383afba4f465ec66defa73b622069b0d4
|
|
7
|
+
data.tar.gz: 389a20d94c06df1558b020e3a4c4779f82163519b58c1fa3a46c8d05dde469aa46e9a63fe797feb0a055ff1d4b37ac30cd803219ac509e284399f1359d5c5152
|
|
@@ -261,7 +261,7 @@ module ElasticGraph
|
|
|
261
261
|
def deleted_type(name)
|
|
262
262
|
@state.register_deleted_type(
|
|
263
263
|
name,
|
|
264
|
-
defined_at: caller_locations(1, 1).first, # : ::Thread::Backtrace::Location
|
|
264
|
+
defined_at: caller_locations(1, 1).to_a.first, # : ::Thread::Backtrace::Location
|
|
265
265
|
defined_via: %(schema.deleted_type "#{name}")
|
|
266
266
|
)
|
|
267
267
|
nil
|
|
@@ -53,14 +53,16 @@ module ElasticGraph
|
|
|
53
53
|
|
|
54
54
|
settings = DEFAULT_SETTINGS.merge(Support::HashUtil.flatten_and_stringify_keys(settings, prefix: "index"))
|
|
55
55
|
|
|
56
|
-
super(name, [], settings, schema_def_state, indexed_type,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
super(name, [], settings, schema_def_state, indexed_type, nil, nil)
|
|
57
|
+
|
|
58
|
+
schema_def_state.after_user_definition_complete do
|
|
59
|
+
# `id` is the field Elasticsearch/OpenSearch use for routing by default:
|
|
60
|
+
# https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-routing-field.html
|
|
61
|
+
# By using it here, it will cause queries to pass a `routing` parameter when
|
|
62
|
+
# searching with id filtering on an index that does not use custom shard routing, giving
|
|
63
|
+
# us a nice efficiency boost.
|
|
64
|
+
self.routing_field_path = public_field_path("id", explanation: "indexed types must have an `id` field")
|
|
65
|
+
end
|
|
64
66
|
|
|
65
67
|
yield self if block_given?
|
|
66
68
|
end
|
|
@@ -120,23 +122,25 @@ module ElasticGraph
|
|
|
120
122
|
# end
|
|
121
123
|
# end
|
|
122
124
|
def rollover(frequency, timestamp_field_path_name)
|
|
123
|
-
|
|
125
|
+
schema_def_state.after_user_definition_complete do
|
|
126
|
+
timestamp_field_path = public_field_path(timestamp_field_path_name, explanation: "it is referenced as an index `rollover` field")
|
|
124
127
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
unless date_and_datetime_types.include?(timestamp_field_path.type.fully_unwrapped.name)
|
|
129
|
+
date_or_datetime_description = date_and_datetime_types.map { |t| "`#{t}`" }.join(" or ")
|
|
130
|
+
raise Errors::SchemaError, "rollover field `#{timestamp_field_path.full_description}` cannot be used for rollover since it is not a #{date_or_datetime_description} field."
|
|
131
|
+
end
|
|
129
132
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
if timestamp_field_path.type.list?
|
|
134
|
+
raise Errors::SchemaError, "rollover field `#{timestamp_field_path.full_description}` cannot be used for rollover since it is a list field."
|
|
135
|
+
end
|
|
133
136
|
|
|
134
|
-
|
|
137
|
+
timestamp_field_path.path_parts.each { |f| f.json_schema nullable: false }
|
|
135
138
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
self.rollover_config = RolloverConfig.new(
|
|
140
|
+
frequency: frequency,
|
|
141
|
+
timestamp_field_path: timestamp_field_path
|
|
142
|
+
)
|
|
143
|
+
end
|
|
140
144
|
end
|
|
141
145
|
|
|
142
146
|
# Configures the index to [route documents to shards](https://www.elastic.co/guide/en/elasticsearch/reference/8.15/mapping-routing-field.html)
|
|
@@ -169,17 +173,19 @@ module ElasticGraph
|
|
|
169
173
|
# end
|
|
170
174
|
# end
|
|
171
175
|
def route_with(routing_field_path_name)
|
|
172
|
-
|
|
176
|
+
schema_def_state.after_user_definition_complete do
|
|
177
|
+
routing_field_path = public_field_path(routing_field_path_name, explanation: "it is referenced as an index `route_with` field")
|
|
173
178
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
unless routing_field_path.type.leaf?
|
|
180
|
+
raise Errors::SchemaError, "shard routing field `#{routing_field_path.full_description}` cannot be used for routing since it is not a leaf field."
|
|
181
|
+
end
|
|
177
182
|
|
|
178
|
-
|
|
183
|
+
self.routing_field_path = routing_field_path
|
|
179
184
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
185
|
+
routing_field_path.path_parts[0..-2].each { |f| f.json_schema nullable: false }
|
|
186
|
+
routing_field_path.last_part.json_schema nullable: false, pattern: HAS_NON_WHITE_SPACE_REGEX
|
|
187
|
+
indexed_type.append_to_documentation "For more performant queries on this type, please filter on `#{routing_field_path_name}` if possible."
|
|
188
|
+
end
|
|
183
189
|
end
|
|
184
190
|
|
|
185
191
|
# @see #route_with
|
|
@@ -286,7 +292,7 @@ module ElasticGraph
|
|
|
286
292
|
|
|
287
293
|
def public_field_path(public_path_string, explanation:)
|
|
288
294
|
parent_is_not_list = ->(parent_field) { !parent_field.type.list? }
|
|
289
|
-
resolver =
|
|
295
|
+
resolver = schema_def_state.field_path_resolver
|
|
290
296
|
resolved_path = resolver.resolve_public_path(indexed_type, public_path_string, &parent_is_not_list)
|
|
291
297
|
return resolved_path if resolved_path
|
|
292
298
|
|
|
@@ -11,12 +11,11 @@ module ElasticGraph
|
|
|
11
11
|
module Indexing
|
|
12
12
|
# @private
|
|
13
13
|
class RelationshipResolver
|
|
14
|
-
def initialize(schema_def_state:, object_type:, relationship_name:, sourced_fields
|
|
14
|
+
def initialize(schema_def_state:, object_type:, relationship_name:, sourced_fields:)
|
|
15
15
|
@schema_def_state = schema_def_state
|
|
16
16
|
@object_type = object_type
|
|
17
17
|
@relationship_name = relationship_name
|
|
18
18
|
@sourced_fields = sourced_fields
|
|
19
|
-
@field_path_resolver = field_path_resolver
|
|
20
19
|
end
|
|
21
20
|
|
|
22
21
|
def resolve
|
|
@@ -51,8 +50,8 @@ module ElasticGraph
|
|
|
51
50
|
|
|
52
51
|
private
|
|
53
52
|
|
|
54
|
-
# @dynamic schema_def_state, object_type, relationship_name, sourced_fields
|
|
55
|
-
attr_reader :schema_def_state, :object_type, :relationship_name, :sourced_fields
|
|
53
|
+
# @dynamic schema_def_state, object_type, relationship_name, sourced_fields
|
|
54
|
+
attr_reader :schema_def_state, :object_type, :relationship_name, :sourced_fields
|
|
56
55
|
|
|
57
56
|
# Helper method for building the prefix of relationship-related error messages.
|
|
58
57
|
def relationship_error_prefix
|
|
@@ -67,7 +66,7 @@ module ElasticGraph
|
|
|
67
66
|
end
|
|
68
67
|
|
|
69
68
|
def validate_foreign_key(foreign_key_parent_type, relation_metadata)
|
|
70
|
-
foreign_key_field = field_path_resolver.resolve_public_path(foreign_key_parent_type, relation_metadata.foreign_key) { true }
|
|
69
|
+
foreign_key_field = schema_def_state.field_path_resolver.resolve_public_path(foreign_key_parent_type, relation_metadata.foreign_key) { true }
|
|
71
70
|
# If its an inbound foreign key, verify that the foreign key exists on the related type.
|
|
72
71
|
# Note: we don't verify this for outbound foreign keys, because when we define a relationship with an outbound foreign
|
|
73
72
|
# key, we automatically define an indexing only field for the foreign key (since it exists on the same type). We don't
|
|
@@ -109,6 +109,7 @@ module ElasticGraph
|
|
|
109
109
|
def after_initialize
|
|
110
110
|
# Record that we are now generating results so that caching can kick in.
|
|
111
111
|
state.user_definition_complete = true
|
|
112
|
+
state.user_definition_complete_callbacks.each(&:call)
|
|
112
113
|
end
|
|
113
114
|
|
|
114
115
|
def json_schema_with_metadata_merger
|
|
@@ -179,9 +180,6 @@ module ElasticGraph
|
|
|
179
180
|
# Builds a map, keyed by object type name, of extra `update_targets` that have been generated
|
|
180
181
|
# from any fields that use `sourced_from` on other types.
|
|
181
182
|
def identify_extra_update_targets_by_object_type_name
|
|
182
|
-
# The field_path_resolver memoizes some calculations, and we want the same instance to be
|
|
183
|
-
# used by all UpdateTargetBuilders to maximize its effectiveness.
|
|
184
|
-
field_path_resolver = SchemaElements::FieldPath::Resolver.new
|
|
185
183
|
sourced_field_errors = [] # : ::Array[::String]
|
|
186
184
|
relationship_errors = [] # : ::Array[::String]
|
|
187
185
|
|
|
@@ -209,8 +207,7 @@ module ElasticGraph
|
|
|
209
207
|
schema_def_state: state,
|
|
210
208
|
object_type: object_type,
|
|
211
209
|
relationship_name: relationship_name,
|
|
212
|
-
sourced_fields: sourced_fields
|
|
213
|
-
field_path_resolver: field_path_resolver
|
|
210
|
+
sourced_fields: sourced_fields
|
|
214
211
|
)
|
|
215
212
|
|
|
216
213
|
resolved_relationship, relationship_error = relationship_resolver.resolve
|
|
@@ -221,7 +218,7 @@ module ElasticGraph
|
|
|
221
218
|
object_type: object_type,
|
|
222
219
|
resolved_relationship: resolved_relationship,
|
|
223
220
|
sourced_fields: sourced_fields,
|
|
224
|
-
field_path_resolver: field_path_resolver
|
|
221
|
+
field_path_resolver: state.field_path_resolver
|
|
225
222
|
)
|
|
226
223
|
|
|
227
224
|
update_target, errors = update_target_resolver.resolve
|
|
@@ -504,7 +504,8 @@ module ElasticGraph
|
|
|
504
504
|
|
|
505
505
|
schema_def_api.factory.new_aggregated_values_type_for_index_leaf_type "NonNumeric" do |t|
|
|
506
506
|
t.documentation "A return type used from aggregations to provided aggregated values over non-numeric fields."
|
|
507
|
-
|
|
507
|
+
schema_def_api.state.register_object_interface_or_union_type(t)
|
|
508
|
+
end
|
|
508
509
|
|
|
509
510
|
register_framework_object_type "AggregationCountDetail" do |t|
|
|
510
511
|
t.documentation "Provides detail about an aggregation `#{names.count}`."
|
|
@@ -475,7 +475,7 @@ module ElasticGraph
|
|
|
475
475
|
parent_type.name,
|
|
476
476
|
from: old_name,
|
|
477
477
|
to: name,
|
|
478
|
-
defined_at: caller_locations(1, 1).first, # : ::Thread::Backtrace::Location
|
|
478
|
+
defined_at: caller_locations(1, 1).to_a.first, # : ::Thread::Backtrace::Location
|
|
479
479
|
defined_via: %(field.renamed_from "#{old_name}")
|
|
480
480
|
)
|
|
481
481
|
end
|
|
@@ -51,13 +51,17 @@ module ElasticGraph
|
|
|
51
51
|
|
|
52
52
|
# Responsible for resolving a particular field path (given as a string) into a `FieldPath` object.
|
|
53
53
|
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
# and may yield inaccurate results.
|
|
54
|
+
# Cannot be instantiated until the user has finished defining the schema.
|
|
55
|
+
# If we allowed it to be used before then, it creates a situation where the order of definition matters.
|
|
56
|
+
# In addition, this class optimizes performance by memoizing some things based on the current state, and
|
|
57
|
+
# if the state is updated after an instance is created, inaccurate results could be produced.
|
|
59
58
|
class Resolver
|
|
60
|
-
def initialize
|
|
59
|
+
def initialize(state)
|
|
60
|
+
unless state.user_definition_complete
|
|
61
|
+
raise Errors::SchemaError,
|
|
62
|
+
"A `FieldPath::Resolver` cannot be created before the user definition of the schema is complete."
|
|
63
|
+
end
|
|
64
|
+
|
|
61
65
|
@indexing_fields_by_public_name_by_type = ::Hash.new do |hash, type|
|
|
62
66
|
hash[type] = type
|
|
63
67
|
.indexing_fields_by_name_in_index
|
|
@@ -140,7 +140,8 @@ module ElasticGraph
|
|
|
140
140
|
def routing_value_source_for_index(index)
|
|
141
141
|
return nil unless index.uses_custom_routing?
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
index_routing_field_path = index.routing_field_path # : FieldPath
|
|
144
|
+
@equivalent_field_paths_by_local_path.fetch(index_routing_field_path.path) do |local_need|
|
|
144
145
|
yield local_need
|
|
145
146
|
end
|
|
146
147
|
end
|
|
@@ -191,11 +192,15 @@ module ElasticGraph
|
|
|
191
192
|
|
|
192
193
|
# @private
|
|
193
194
|
def runtime_metadata
|
|
194
|
-
field_path_resolver = SchemaElements::FieldPath::Resolver.new
|
|
195
195
|
resolved_related_type = (_ = related_type.unwrap_list.as_object_type) # : indexableType
|
|
196
|
-
foreign_key_nested_paths = field_path_resolver.determine_nested_paths(resolved_related_type, @foreign_key)
|
|
196
|
+
foreign_key_nested_paths = schema_def_state.field_path_resolver.determine_nested_paths(resolved_related_type, @foreign_key)
|
|
197
197
|
foreign_key_nested_paths ||= [] # : ::Array[::String]
|
|
198
|
-
SchemaArtifacts::RuntimeMetadata::Relation.new(
|
|
198
|
+
SchemaArtifacts::RuntimeMetadata::Relation.new(
|
|
199
|
+
foreign_key: @foreign_key,
|
|
200
|
+
direction: @direction,
|
|
201
|
+
additional_filter: @additional_filter,
|
|
202
|
+
foreign_key_nested_paths: foreign_key_nested_paths
|
|
203
|
+
)
|
|
199
204
|
end
|
|
200
205
|
|
|
201
206
|
private
|
|
@@ -239,7 +239,7 @@ module ElasticGraph
|
|
|
239
239
|
schema_def_state.register_deleted_field(
|
|
240
240
|
name,
|
|
241
241
|
field_name,
|
|
242
|
-
defined_at: caller_locations(2, 1).first, # : ::Thread::Backtrace::Location
|
|
242
|
+
defined_at: caller_locations(2, 1).to_a.first, # : ::Thread::Backtrace::Location
|
|
243
243
|
defined_via: %(type.deleted_field "#{field_name}")
|
|
244
244
|
)
|
|
245
245
|
end
|
|
@@ -263,7 +263,7 @@ module ElasticGraph
|
|
|
263
263
|
schema_def_state.register_renamed_type(
|
|
264
264
|
name,
|
|
265
265
|
from: old_name,
|
|
266
|
-
defined_at: caller_locations(2, 1).first, # : ::Thread::Backtrace::Location
|
|
266
|
+
defined_at: caller_locations(2, 1).to_a.first, # : ::Thread::Backtrace::Location
|
|
267
267
|
defined_via: %(type.renamed_from "#{old_name}")
|
|
268
268
|
)
|
|
269
269
|
end
|
|
@@ -11,6 +11,7 @@ require "elastic_graph/errors"
|
|
|
11
11
|
require "elastic_graph/schema_definition/factory"
|
|
12
12
|
require "elastic_graph/schema_definition/mixins/has_readable_to_s_and_inspect"
|
|
13
13
|
require "elastic_graph/schema_definition/schema_elements/enum_value_namer"
|
|
14
|
+
require "elastic_graph/schema_definition/schema_elements/field_path"
|
|
14
15
|
require "elastic_graph/schema_definition/schema_elements/type_namer"
|
|
15
16
|
require "elastic_graph/schema_definition/schema_elements/sub_aggregation_path"
|
|
16
17
|
|
|
@@ -44,6 +45,7 @@ module ElasticGraph
|
|
|
44
45
|
:initially_registered_built_in_types,
|
|
45
46
|
:built_in_types_customization_blocks,
|
|
46
47
|
:user_definition_complete,
|
|
48
|
+
:user_definition_complete_callbacks,
|
|
47
49
|
:sub_aggregation_paths_by_type,
|
|
48
50
|
:type_refs_by_name,
|
|
49
51
|
:output,
|
|
@@ -86,6 +88,7 @@ module ElasticGraph
|
|
|
86
88
|
initially_registered_built_in_types: ::Set.new,
|
|
87
89
|
built_in_types_customization_blocks: [],
|
|
88
90
|
user_definition_complete: false,
|
|
91
|
+
user_definition_complete_callbacks: [],
|
|
89
92
|
sub_aggregation_paths_by_type: {},
|
|
90
93
|
type_refs_by_name: {},
|
|
91
94
|
type_namer: SchemaElements::TypeNamer.new(
|
|
@@ -191,6 +194,14 @@ module ElasticGraph
|
|
|
191
194
|
end
|
|
192
195
|
end
|
|
193
196
|
|
|
197
|
+
def after_user_definition_complete(&block)
|
|
198
|
+
user_definition_complete_callbacks << block
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def field_path_resolver
|
|
202
|
+
@field_path_resolver ||= SchemaElements::FieldPath::Resolver.new(self)
|
|
203
|
+
end
|
|
204
|
+
|
|
194
205
|
private
|
|
195
206
|
|
|
196
207
|
RESERVED_TYPE_NAMES = [EVENT_ENVELOPE_JSON_SCHEMA_NAME].to_set
|
metadata
CHANGED
|
@@ -1,309 +1,87 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: elasticgraph-schema_definition
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.19.
|
|
4
|
+
version: 0.19.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Myron Marston
|
|
8
8
|
- Ben VandenBos
|
|
9
9
|
- Block Engineering
|
|
10
10
|
autorequire:
|
|
11
|
-
bindir:
|
|
11
|
+
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2025-02-06 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: rubocop-factory_bot
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
requirements:
|
|
19
|
-
- - "~>"
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '2.26'
|
|
22
|
-
type: :development
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
requirements:
|
|
26
|
-
- - "~>"
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
version: '2.26'
|
|
29
|
-
- !ruby/object:Gem::Dependency
|
|
30
|
-
name: rubocop-rake
|
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
|
32
|
-
requirements:
|
|
33
|
-
- - "~>"
|
|
34
|
-
- !ruby/object:Gem::Version
|
|
35
|
-
version: '0.6'
|
|
36
|
-
type: :development
|
|
37
|
-
prerelease: false
|
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
39
|
-
requirements:
|
|
40
|
-
- - "~>"
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: '0.6'
|
|
43
|
-
- !ruby/object:Gem::Dependency
|
|
44
|
-
name: rubocop-rspec
|
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
|
46
|
-
requirements:
|
|
47
|
-
- - "~>"
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '3.1'
|
|
50
|
-
type: :development
|
|
51
|
-
prerelease: false
|
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
-
requirements:
|
|
54
|
-
- - "~>"
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '3.1'
|
|
57
|
-
- !ruby/object:Gem::Dependency
|
|
58
|
-
name: standard
|
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
|
60
|
-
requirements:
|
|
61
|
-
- - "~>"
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: 1.41.0
|
|
64
|
-
type: :development
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - "~>"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: 1.41.0
|
|
71
|
-
- !ruby/object:Gem::Dependency
|
|
72
|
-
name: steep
|
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
|
74
|
-
requirements:
|
|
75
|
-
- - "~>"
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: 1.9.0
|
|
78
|
-
type: :development
|
|
79
|
-
prerelease: false
|
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
81
|
-
requirements:
|
|
82
|
-
- - "~>"
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: 1.9.0
|
|
85
|
-
- !ruby/object:Gem::Dependency
|
|
86
|
-
name: coderay
|
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
|
88
|
-
requirements:
|
|
89
|
-
- - "~>"
|
|
90
|
-
- !ruby/object:Gem::Version
|
|
91
|
-
version: '1.1'
|
|
92
|
-
type: :development
|
|
93
|
-
prerelease: false
|
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
95
|
-
requirements:
|
|
96
|
-
- - "~>"
|
|
97
|
-
- !ruby/object:Gem::Version
|
|
98
|
-
version: '1.1'
|
|
99
|
-
- !ruby/object:Gem::Dependency
|
|
100
|
-
name: flatware-rspec
|
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
|
102
|
-
requirements:
|
|
103
|
-
- - "~>"
|
|
104
|
-
- !ruby/object:Gem::Version
|
|
105
|
-
version: '2.3'
|
|
106
|
-
- - ">="
|
|
107
|
-
- !ruby/object:Gem::Version
|
|
108
|
-
version: 2.3.3
|
|
109
|
-
type: :development
|
|
110
|
-
prerelease: false
|
|
111
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
112
|
-
requirements:
|
|
113
|
-
- - "~>"
|
|
114
|
-
- !ruby/object:Gem::Version
|
|
115
|
-
version: '2.3'
|
|
116
|
-
- - ">="
|
|
117
|
-
- !ruby/object:Gem::Version
|
|
118
|
-
version: 2.3.3
|
|
119
|
-
- !ruby/object:Gem::Dependency
|
|
120
|
-
name: rspec
|
|
121
|
-
requirement: !ruby/object:Gem::Requirement
|
|
122
|
-
requirements:
|
|
123
|
-
- - "~>"
|
|
124
|
-
- !ruby/object:Gem::Version
|
|
125
|
-
version: '3.13'
|
|
126
|
-
type: :development
|
|
127
|
-
prerelease: false
|
|
128
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
129
|
-
requirements:
|
|
130
|
-
- - "~>"
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: '3.13'
|
|
133
|
-
- !ruby/object:Gem::Dependency
|
|
134
|
-
name: super_diff
|
|
135
|
-
requirement: !ruby/object:Gem::Requirement
|
|
136
|
-
requirements:
|
|
137
|
-
- - "~>"
|
|
138
|
-
- !ruby/object:Gem::Version
|
|
139
|
-
version: '0.13'
|
|
140
|
-
type: :development
|
|
141
|
-
prerelease: false
|
|
142
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
143
|
-
requirements:
|
|
144
|
-
- - "~>"
|
|
145
|
-
- !ruby/object:Gem::Version
|
|
146
|
-
version: '0.13'
|
|
147
|
-
- !ruby/object:Gem::Dependency
|
|
148
|
-
name: simplecov
|
|
149
|
-
requirement: !ruby/object:Gem::Requirement
|
|
150
|
-
requirements:
|
|
151
|
-
- - "~>"
|
|
152
|
-
- !ruby/object:Gem::Version
|
|
153
|
-
version: '0.22'
|
|
154
|
-
type: :development
|
|
155
|
-
prerelease: false
|
|
156
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
157
|
-
requirements:
|
|
158
|
-
- - "~>"
|
|
159
|
-
- !ruby/object:Gem::Version
|
|
160
|
-
version: '0.22'
|
|
161
|
-
- !ruby/object:Gem::Dependency
|
|
162
|
-
name: simplecov-console
|
|
163
|
-
requirement: !ruby/object:Gem::Requirement
|
|
164
|
-
requirements:
|
|
165
|
-
- - "~>"
|
|
166
|
-
- !ruby/object:Gem::Version
|
|
167
|
-
version: '0.9'
|
|
168
|
-
type: :development
|
|
169
|
-
prerelease: false
|
|
170
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
171
|
-
requirements:
|
|
172
|
-
- - "~>"
|
|
173
|
-
- !ruby/object:Gem::Version
|
|
174
|
-
version: '0.9'
|
|
175
|
-
- !ruby/object:Gem::Dependency
|
|
176
|
-
name: httpx
|
|
177
|
-
requirement: !ruby/object:Gem::Requirement
|
|
178
|
-
requirements:
|
|
179
|
-
- - "~>"
|
|
180
|
-
- !ruby/object:Gem::Version
|
|
181
|
-
version: '1.3'
|
|
182
|
-
type: :development
|
|
183
|
-
prerelease: false
|
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
requirements:
|
|
186
|
-
- - "~>"
|
|
187
|
-
- !ruby/object:Gem::Version
|
|
188
|
-
version: '1.3'
|
|
189
|
-
- !ruby/object:Gem::Dependency
|
|
190
|
-
name: method_source
|
|
191
|
-
requirement: !ruby/object:Gem::Requirement
|
|
192
|
-
requirements:
|
|
193
|
-
- - "~>"
|
|
194
|
-
- !ruby/object:Gem::Version
|
|
195
|
-
version: '1.1'
|
|
196
|
-
type: :development
|
|
197
|
-
prerelease: false
|
|
198
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
199
|
-
requirements:
|
|
200
|
-
- - "~>"
|
|
201
|
-
- !ruby/object:Gem::Version
|
|
202
|
-
version: '1.1'
|
|
203
|
-
- !ruby/object:Gem::Dependency
|
|
204
|
-
name: rspec-retry
|
|
205
|
-
requirement: !ruby/object:Gem::Requirement
|
|
206
|
-
requirements:
|
|
207
|
-
- - "~>"
|
|
208
|
-
- !ruby/object:Gem::Version
|
|
209
|
-
version: '0.6'
|
|
210
|
-
type: :development
|
|
211
|
-
prerelease: false
|
|
212
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
213
|
-
requirements:
|
|
214
|
-
- - "~>"
|
|
215
|
-
- !ruby/object:Gem::Version
|
|
216
|
-
version: '0.6'
|
|
217
|
-
- !ruby/object:Gem::Dependency
|
|
218
|
-
name: vcr
|
|
219
|
-
requirement: !ruby/object:Gem::Requirement
|
|
220
|
-
requirements:
|
|
221
|
-
- - "~>"
|
|
222
|
-
- !ruby/object:Gem::Version
|
|
223
|
-
version: '6.3'
|
|
224
|
-
- - ">="
|
|
225
|
-
- !ruby/object:Gem::Version
|
|
226
|
-
version: 6.3.1
|
|
227
|
-
type: :development
|
|
228
|
-
prerelease: false
|
|
229
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
230
|
-
requirements:
|
|
231
|
-
- - "~>"
|
|
232
|
-
- !ruby/object:Gem::Version
|
|
233
|
-
version: '6.3'
|
|
234
|
-
- - ">="
|
|
235
|
-
- !ruby/object:Gem::Version
|
|
236
|
-
version: 6.3.1
|
|
237
15
|
- !ruby/object:Gem::Dependency
|
|
238
16
|
name: elasticgraph-graphql
|
|
239
17
|
requirement: !ruby/object:Gem::Requirement
|
|
240
18
|
requirements:
|
|
241
19
|
- - '='
|
|
242
20
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: 0.19.
|
|
21
|
+
version: 0.19.1.0
|
|
244
22
|
type: :runtime
|
|
245
23
|
prerelease: false
|
|
246
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
25
|
requirements:
|
|
248
26
|
- - '='
|
|
249
27
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: 0.19.
|
|
28
|
+
version: 0.19.1.0
|
|
251
29
|
- !ruby/object:Gem::Dependency
|
|
252
30
|
name: elasticgraph-indexer
|
|
253
31
|
requirement: !ruby/object:Gem::Requirement
|
|
254
32
|
requirements:
|
|
255
33
|
- - '='
|
|
256
34
|
- !ruby/object:Gem::Version
|
|
257
|
-
version: 0.19.
|
|
35
|
+
version: 0.19.1.0
|
|
258
36
|
type: :runtime
|
|
259
37
|
prerelease: false
|
|
260
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
261
39
|
requirements:
|
|
262
40
|
- - '='
|
|
263
41
|
- !ruby/object:Gem::Version
|
|
264
|
-
version: 0.19.
|
|
42
|
+
version: 0.19.1.0
|
|
265
43
|
- !ruby/object:Gem::Dependency
|
|
266
44
|
name: elasticgraph-json_schema
|
|
267
45
|
requirement: !ruby/object:Gem::Requirement
|
|
268
46
|
requirements:
|
|
269
47
|
- - '='
|
|
270
48
|
- !ruby/object:Gem::Version
|
|
271
|
-
version: 0.19.
|
|
49
|
+
version: 0.19.1.0
|
|
272
50
|
type: :runtime
|
|
273
51
|
prerelease: false
|
|
274
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
275
53
|
requirements:
|
|
276
54
|
- - '='
|
|
277
55
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: 0.19.
|
|
56
|
+
version: 0.19.1.0
|
|
279
57
|
- !ruby/object:Gem::Dependency
|
|
280
58
|
name: elasticgraph-schema_artifacts
|
|
281
59
|
requirement: !ruby/object:Gem::Requirement
|
|
282
60
|
requirements:
|
|
283
61
|
- - '='
|
|
284
62
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: 0.19.
|
|
63
|
+
version: 0.19.1.0
|
|
286
64
|
type: :runtime
|
|
287
65
|
prerelease: false
|
|
288
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
289
67
|
requirements:
|
|
290
68
|
- - '='
|
|
291
69
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: 0.19.
|
|
70
|
+
version: 0.19.1.0
|
|
293
71
|
- !ruby/object:Gem::Dependency
|
|
294
72
|
name: elasticgraph-support
|
|
295
73
|
requirement: !ruby/object:Gem::Requirement
|
|
296
74
|
requirements:
|
|
297
75
|
- - '='
|
|
298
76
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: 0.19.
|
|
77
|
+
version: 0.19.1.0
|
|
300
78
|
type: :runtime
|
|
301
79
|
prerelease: false
|
|
302
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
303
81
|
requirements:
|
|
304
82
|
- - '='
|
|
305
83
|
- !ruby/object:Gem::Version
|
|
306
|
-
version: 0.19.
|
|
84
|
+
version: 0.19.1.0
|
|
307
85
|
- !ruby/object:Gem::Dependency
|
|
308
86
|
name: graphql
|
|
309
87
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -338,56 +116,56 @@ dependencies:
|
|
|
338
116
|
requirements:
|
|
339
117
|
- - '='
|
|
340
118
|
- !ruby/object:Gem::Version
|
|
341
|
-
version: 0.19.
|
|
119
|
+
version: 0.19.1.0
|
|
342
120
|
type: :development
|
|
343
121
|
prerelease: false
|
|
344
122
|
version_requirements: !ruby/object:Gem::Requirement
|
|
345
123
|
requirements:
|
|
346
124
|
- - '='
|
|
347
125
|
- !ruby/object:Gem::Version
|
|
348
|
-
version: 0.19.
|
|
126
|
+
version: 0.19.1.0
|
|
349
127
|
- !ruby/object:Gem::Dependency
|
|
350
128
|
name: elasticgraph-datastore_core
|
|
351
129
|
requirement: !ruby/object:Gem::Requirement
|
|
352
130
|
requirements:
|
|
353
131
|
- - '='
|
|
354
132
|
- !ruby/object:Gem::Version
|
|
355
|
-
version: 0.19.
|
|
133
|
+
version: 0.19.1.0
|
|
356
134
|
type: :development
|
|
357
135
|
prerelease: false
|
|
358
136
|
version_requirements: !ruby/object:Gem::Requirement
|
|
359
137
|
requirements:
|
|
360
138
|
- - '='
|
|
361
139
|
- !ruby/object:Gem::Version
|
|
362
|
-
version: 0.19.
|
|
140
|
+
version: 0.19.1.0
|
|
363
141
|
- !ruby/object:Gem::Dependency
|
|
364
142
|
name: elasticgraph-elasticsearch
|
|
365
143
|
requirement: !ruby/object:Gem::Requirement
|
|
366
144
|
requirements:
|
|
367
145
|
- - '='
|
|
368
146
|
- !ruby/object:Gem::Version
|
|
369
|
-
version: 0.19.
|
|
147
|
+
version: 0.19.1.0
|
|
370
148
|
type: :development
|
|
371
149
|
prerelease: false
|
|
372
150
|
version_requirements: !ruby/object:Gem::Requirement
|
|
373
151
|
requirements:
|
|
374
152
|
- - '='
|
|
375
153
|
- !ruby/object:Gem::Version
|
|
376
|
-
version: 0.19.
|
|
154
|
+
version: 0.19.1.0
|
|
377
155
|
- !ruby/object:Gem::Dependency
|
|
378
156
|
name: elasticgraph-opensearch
|
|
379
157
|
requirement: !ruby/object:Gem::Requirement
|
|
380
158
|
requirements:
|
|
381
159
|
- - '='
|
|
382
160
|
- !ruby/object:Gem::Version
|
|
383
|
-
version: 0.19.
|
|
161
|
+
version: 0.19.1.0
|
|
384
162
|
type: :development
|
|
385
163
|
prerelease: false
|
|
386
164
|
version_requirements: !ruby/object:Gem::Requirement
|
|
387
165
|
requirements:
|
|
388
166
|
- - '='
|
|
389
167
|
- !ruby/object:Gem::Version
|
|
390
|
-
version: 0.19.
|
|
168
|
+
version: 0.19.1.0
|
|
391
169
|
description:
|
|
392
170
|
email:
|
|
393
171
|
- myron@squareup.com
|
|
@@ -397,7 +175,6 @@ extra_rdoc_files: []
|
|
|
397
175
|
files:
|
|
398
176
|
- LICENSE.txt
|
|
399
177
|
- README.md
|
|
400
|
-
- elasticgraph-schema_definition.gemspec
|
|
401
178
|
- lib/elastic_graph/schema_definition/api.rb
|
|
402
179
|
- lib/elastic_graph/schema_definition/factory.rb
|
|
403
180
|
- lib/elastic_graph/schema_definition/indexing/derived_fields/append_only_set.rb
|
|
@@ -474,10 +251,10 @@ licenses:
|
|
|
474
251
|
- MIT
|
|
475
252
|
metadata:
|
|
476
253
|
bug_tracker_uri: https://github.com/block/elasticgraph/issues
|
|
477
|
-
changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.
|
|
254
|
+
changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.1.0
|
|
478
255
|
documentation_uri: https://block.github.io/elasticgraph/docs/main/
|
|
479
256
|
homepage_uri: https://block.github.io/elasticgraph/
|
|
480
|
-
source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.
|
|
257
|
+
source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.1.0/elasticgraph-schema_definition
|
|
481
258
|
gem_category: local
|
|
482
259
|
post_install_message:
|
|
483
260
|
rdoc_options: []
|
|
@@ -485,9 +262,12 @@ require_paths:
|
|
|
485
262
|
- lib
|
|
486
263
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
487
264
|
requirements:
|
|
488
|
-
- - "
|
|
265
|
+
- - ">="
|
|
489
266
|
- !ruby/object:Gem::Version
|
|
490
267
|
version: '3.2'
|
|
268
|
+
- - "<"
|
|
269
|
+
- !ruby/object:Gem::Version
|
|
270
|
+
version: '3.5'
|
|
491
271
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
492
272
|
requirements:
|
|
493
273
|
- - ">="
|
|
@@ -1,26 +0,0 @@
|
|
|
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_relative "../gemspec_helper"
|
|
10
|
-
|
|
11
|
-
ElasticGraphGemspecHelper.define_elasticgraph_gem(gemspec_file: __FILE__, category: :local) do |spec, eg_version|
|
|
12
|
-
spec.summary = "ElasticGraph gem that provides the schema definition API and generates schema artifacts."
|
|
13
|
-
|
|
14
|
-
spec.add_dependency "elasticgraph-graphql", eg_version # needed since we validate that scalar `coerce_with` options are valid (which loads scalar coercion adapters)
|
|
15
|
-
spec.add_dependency "elasticgraph-indexer", eg_version # needed since we validate that scalar `prepare_for_indexing_with` options are valid (which loads indexing preparer adapters)
|
|
16
|
-
spec.add_dependency "elasticgraph-json_schema", eg_version
|
|
17
|
-
spec.add_dependency "elasticgraph-schema_artifacts", eg_version
|
|
18
|
-
spec.add_dependency "elasticgraph-support", eg_version
|
|
19
|
-
spec.add_dependency "graphql", "~> 2.4.8"
|
|
20
|
-
spec.add_dependency "rake", "~> 13.2"
|
|
21
|
-
|
|
22
|
-
spec.add_development_dependency "elasticgraph-admin", eg_version
|
|
23
|
-
spec.add_development_dependency "elasticgraph-datastore_core", eg_version
|
|
24
|
-
spec.add_development_dependency "elasticgraph-elasticsearch", eg_version
|
|
25
|
-
spec.add_development_dependency "elasticgraph-opensearch", eg_version
|
|
26
|
-
end
|