elasticgraph-local 0.19.0.0 → 0.19.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c85b4d13cc9ca5cf2d2a6c3f84b4a699566db9e3b8ff22583285191953e2b42
4
- data.tar.gz: e20d35290b2b38c240aa9d085ee45967b5ba2cbc63914c1b90950b6e3d690d50
3
+ metadata.gz: 5c345b0f660066d12fc5d2d65f95ba2463adc8d35f2e4357682fcb92e0088c3a
4
+ data.tar.gz: 556e2630ed93c270f0aa26bf9ec4ce36eefc9ae4f24df0e505efe61d92c83f7a
5
5
  SHA512:
6
- metadata.gz: ced4370117c1a8befcc0887930d4313861f920a526361dcd417de0c184350e7c442ac66fea2c8c72b7137f54ef8dc6d3397ee23beb2067797374be8e530ce683
7
- data.tar.gz: 234b0969ab5afb9cb48e51afaf31feaad202f280b688d2d5f8732c9602c61403e6ae0e033d822964b05dbe7d0515d35730261f4387cae31269402a7430f55df2
6
+ metadata.gz: 89e6f44480d71dcffbac67a937a2d14512eae3fe57cda3d9e32fa99ef3b1b8f0d59c3c11f7648d62820007c347c5e9a1a986d805006b0493a4fce4c7b36d64ce
7
+ data.tar.gz: 0137cf3f0d76aeec53429a5dcfc97bfbbac7c2f57d0d75c2d29c338914c140ff35a065f8a39fabd1935730546a838b7b9309751f3b67aed6dc6fa65b14f49e75
@@ -29,8 +29,7 @@ module ElasticGraph
29
29
  publishing_threads = Array.new(PARALLELISM) { new_publishing_thread(batch_queue) }
30
30
 
31
31
  num_batches.times do
32
- batch = [] # : ::Array[::Hash[::String, untyped]]
33
- @fake_data_batch_generator.call(batch)
32
+ batch = @fake_data_batch_generator.call
34
33
  @output.puts "Generated batch of #{batch.size} documents..."
35
34
  batch_queue << batch
36
35
  end
@@ -102,7 +102,7 @@ module ElasticGraph
102
102
  # local_config_yaml: "config/settings/local.yaml",
103
103
  # path_to_schema: "config/schema.rb"
104
104
  # ) do |tasks|
105
- # tasks.derived_type_name_formats = {AggregatedValues: "Metrics"}
105
+ # tasks.derived_type_name_formats = {AggregatedValues: "%{base}Metrics"}
106
106
  # end
107
107
  #
108
108
  # @dynamic derived_type_name_formats, derived_type_name_formats=
@@ -239,7 +239,8 @@ module ElasticGraph
239
239
  attr_accessor :enforce_json_schema_version
240
240
 
241
241
  # List of Elasticsearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
242
- # halting Elasticsearch locally. Defaults to the versions of Elasticsearch that are exercised by the ElasticGraph test suite, as
242
+ # halting Elasticsearch locally. If the configuration of `local_config_yaml` only configures `opensearch` as a cluster backend,
243
+ # will default to an empty array. Otherwise, defaults to the versions of Elasticsearch that are exercised by the ElasticGraph test suite, as
243
244
  # defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
244
245
  #
245
246
  # {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
@@ -247,19 +248,20 @@ module ElasticGraph
247
248
  # @return [Array<String>] list of Elasticsearch versions
248
249
  # @see #opensearch_versions
249
250
  #
250
- # @example Disable Elasticsearch tasks for a project that uses OpenSearch
251
+ # @example Configure the Elasticsearch versions available to boot locally
251
252
  # ElasticGraph::Local::RakeTasks.new(
252
253
  # local_config_yaml: "config/settings/local.yaml",
253
254
  # path_to_schema: "config/schema.rb"
254
255
  # ) do |tasks|
255
- # tasks.elasticsearch_versions = []
256
+ # tasks.elasticsearch_versions = ["8.16.1"]
256
257
  # end
257
258
  #
258
259
  # @dynamic elasticsearch_versions, elasticsearch_versions=
259
260
  attr_accessor :elasticsearch_versions
260
261
 
261
262
  # List of OpenSearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
262
- # halting OpenSearch locally. Defaults to the versions of OpenSearch that are exercised by the ElasticGraph test suite, as
263
+ # halting OpenSearch locally. If the configuration of `local_config_yaml` only configures `elasticsearch` as a cluster backend,
264
+ # will default to an empty array. Otherwise, defaults to the versions of OpenSearch that are exercised by the ElasticGraph test suite, as
263
265
  # defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
264
266
  #
265
267
  # {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
@@ -267,12 +269,12 @@ module ElasticGraph
267
269
  # @return [Array<String>] list of OpenSearch versions
268
270
  # @see #elasticsearch_versions
269
271
  #
270
- # @example Disable OpenSearch tasks for a project that uses Elasticsearch
272
+ # @example Configure the OpenSearch versions available to boot locally
271
273
  # ElasticGraph::Local::RakeTasks.new(
272
274
  # local_config_yaml: "config/settings/local.yaml",
273
275
  # path_to_schema: "config/schema.rb"
274
276
  # ) do |tasks|
275
- # tasks.opensearch_versions = []
277
+ # tasks.opensearch_versions = ["2.18.0"]
276
278
  # end
277
279
  #
278
280
  # @dynamic opensearch_versions, opensearch_versions=
@@ -334,8 +336,8 @@ module ElasticGraph
334
336
  # local_config_yaml: "config/settings/local.yaml",
335
337
  # path_to_schema: "config/schema.rb"
336
338
  # ) do |tasks|
337
- # tasks.define_fake_data_batch_for :campaigns do |batch|
338
- # batch.concat(FactoryBot.build_list(:campaigns))
339
+ # tasks.define_fake_data_batch_for :campaigns do
340
+ # FactoryBot.build_list(:campaigns)
339
341
  # end
340
342
  # end
341
343
  def define_fake_data_batch_for(type, &block)
@@ -365,8 +367,8 @@ module ElasticGraph
365
367
  self.daemon_timeout = 300
366
368
 
367
369
  datastore_versions = ::YAML.load_file("#{__dir__}/tested_datastore_versions.yaml")
368
- self.elasticsearch_versions = datastore_versions.fetch("elasticsearch")
369
- self.opensearch_versions = datastore_versions.fetch("opensearch")
370
+ self.elasticsearch_versions = local_cluster_backends.include?("elasticsearch") ? datastore_versions.fetch("elasticsearch") : []
371
+ self.opensearch_versions = local_cluster_backends.include?("opensearch") ? datastore_versions.fetch("opensearch") : []
370
372
 
371
373
  @fake_data_batch_generator_by_type = {}
372
374
 
@@ -540,6 +542,15 @@ module ElasticGraph
540
542
  .then { |port_str| Integer(port_str) }
541
543
  end
542
544
 
545
+ def local_cluster_backends
546
+ @local_cluster_backends ||= local_config
547
+ .fetch("datastore")
548
+ .fetch("clusters")
549
+ .values
550
+ .map { |v| v.fetch("backend") }
551
+ .to_set
552
+ end
553
+
543
554
  def local_config
544
555
  @local_config ||= ::YAML.safe_load_file(@local_config_yaml, aliases: true)
545
556
  end
@@ -0,0 +1,148 @@
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/admin"
10
+ require "elastic_graph/graphql"
11
+ require "elastic_graph/indexer"
12
+ require "elastic_graph/indexer/test_support/converters"
13
+ require "elastic_graph/indexer/spec_support/event_matcher"
14
+ require "factory_bot"
15
+
16
+ RSpec.shared_examples "an ElasticGraph project" do |repo_root: Dir.pwd,
17
+ settings_dir: "config/settings",
18
+ use_settings_yaml: "local.yaml",
19
+ ignored_factories: [],
20
+ factory_iterations: 100|
21
+
22
+ settings_yaml_file_to_use = ::File.join(settings_dir, use_settings_yaml)
23
+
24
+ # Our settings files reference some files relative to the repo root, but we want to support
25
+ # running this spec file from both the repo root and from each gem dir. To avoid problems,
26
+ # here we force the examples (and all hooks, including :context hooks) to run with the current
27
+ # directory set to the repo root.
28
+ before(:context) do |ex|
29
+ @original_current_dir = ::Dir.pwd
30
+ ::Dir.chdir(repo_root)
31
+ end
32
+
33
+ after(:context) do
34
+ ::Dir.chdir(@original_current_dir)
35
+ end
36
+
37
+ if settings_dir
38
+ describe "a fully configured lambda settings file" do
39
+ settings_files = Dir[File.join(repo_root, settings_dir, "*.{yml,yaml}")]
40
+
41
+ specify "this test file is looking for settings files in the right place" do
42
+ expect(settings_files).not_to be_empty
43
+ end
44
+
45
+ settings_files.each do |file_name|
46
+ describe "the `#{file_name}` settings file" do
47
+ it "can boot each part of ElasticGraph and has `number_of_shards` configured on every index definition" do
48
+ all_components = [::ElasticGraph::Admin, ::ElasticGraph::GraphQL, ::ElasticGraph::Indexer].map do |klass|
49
+ klass.from_yaml_file(file_name)
50
+ end
51
+
52
+ graphql = all_components.grep(::ElasticGraph::GraphQL).first
53
+
54
+ all_components.each do |comp|
55
+ # this will raise an error if any indices are not configured.
56
+ comp.datastore_core.index_definitions_by_name
57
+
58
+ # Verify that every index definition has an explicit `number_of_shards` configured. It's easy to forget
59
+ # and can't be changed once the index is created so we want to force it to be chosen. The default of `1`
60
+ # is probably never appropriate.
61
+ index_def_names_without_number_of_shards =
62
+ comp.datastore_core.index_definitions_by_name.values.filter_map do |index_def|
63
+ # :nocov: -- currently not executed during this gem's own test suite run
64
+ index_def.name unless index_def.env_index_config.setting_overrides.key?("number_of_shards")
65
+ # :nocov:
66
+ end
67
+ expect(index_def_names_without_number_of_shards).to be_empty,
68
+ "Expected all index definitions to configure the `number_of_shards` in #{file_name}, but the following did not:\n" \
69
+ " - #{index_def_names_without_number_of_shards.join("\n - ")}"
70
+ end
71
+
72
+ # This will raise an error if health check settings are invalid.
73
+ graphql.graphql_http_endpoint
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+ ignored_factories_set = ignored_factories.to_set
81
+ typenames_by_factory_name = ::FactoryBot.factories.filter_map do |factory|
82
+ typename_attr = factory.send(:attributes).find { |a| a.name == :__typename }
83
+ next if typename_attr.nil? || ignored_factories_set.include?(factory.name)
84
+
85
+ begin
86
+ [factory.name, typename_attr.to_proc.call]
87
+ rescue StandardError, NotImplementedError
88
+ # Don't consider factories that raise an error from `__typename`.
89
+ end
90
+ end.to_h
91
+
92
+ indexer, all_type_names, event_types = Dir.chdir(repo_root) do
93
+ indexer = ::ElasticGraph::Indexer.from_yaml_file(settings_yaml_file_to_use)
94
+ all_defs = indexer.schema_artifacts
95
+ .json_schemas_for(indexer.schema_artifacts.latest_json_schema_version)
96
+ .fetch("$defs")
97
+
98
+ event_types = all_defs
99
+ .fetch("ElasticGraphEventEnvelope")
100
+ .fetch("properties")
101
+ .fetch("type")
102
+ .fetch("enum")
103
+ .to_set
104
+
105
+ [indexer, all_defs.keys.to_set, event_types]
106
+ end
107
+
108
+ describe "Factories" do
109
+ specify "all factories have valid `__typename` values" do
110
+ unknown_type_names_by_factory_name = typenames_by_factory_name.reject { |k, v| all_type_names.include?(v) }
111
+
112
+ expect(unknown_type_names_by_factory_name).to be_empty,
113
+ "Expected all factory `__typename` values to be valid, but the following did not match any defined indexed types: #{unknown_type_names_by_factory_name.values.sort}. " \
114
+ "If any `__typename` values are invalid, fix them; otherwise, pass `ignored_factories: #{unknown_type_names_by_factory_name.keys.sort.inspect}` to ignore them " \
115
+ "or make sure that they are defined as indexed types (by defining `t.index_name \"...\"` on them)."
116
+ end
117
+
118
+ typenames_by_factory_name.each do |factory_name, typename|
119
+ next unless event_types.include?(typename)
120
+
121
+ describe "the :#{factory_name} factory" do
122
+ # We use `aggregate_failures: false` so that we stop on the first failure. Getting all of them can be overwhelming.
123
+ it "builds a record that passes ElasticGraph validation", aggregate_failures: false do
124
+ # The factory generates random data. To give us confidence that it doesn't generate
125
+ # good data usually and bad data rarely, we generate 100 events and verify that they
126
+ # are all valid.
127
+ factory_iterations.times do
128
+ record = ::FactoryBot.build(factory_name)
129
+ event = ::ElasticGraph::Indexer::TestSupport::Converters.upsert_events_for_records([record]).first
130
+
131
+ expect(event).to be_a_valid_elastic_graph_event(for_indexer: indexer) { |v| v.with_unknown_properties_disallowed }
132
+
133
+ # Also try building a datastore bulk operation for each event. Occasionally we've seen bugs in
134
+ # elasticgraph-indexer that only manifest in specific schema situations that our main ElasticGraph
135
+ # test suite may not cover, so this'll surface whether elasticgraph-indexer produces exceptions from
136
+ # the Ruby code while processing events for the current schema.
137
+ #
138
+ # Note: we could attempt to _actually_ index it into the datastore here (which would provide even
139
+ # greater confidence), but we don't expect the datastore to be booted and available when these tests
140
+ # are running, and we don't want to have to manage cleaning up datastore state as part of these
141
+ # tests. Still, it's a potential further step we could take with this in the future.
142
+ indexer.operation_factory.build(event).operations.each(&:to_datastore_bulk)
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
metadata CHANGED
@@ -1,275 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticgraph-local
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0.0
4
+ version: 0.19.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myron Marston
8
8
  - Ben VandenBos
9
9
  - Block Engineering
10
10
  autorequire:
11
- bindir: exe
11
+ bindir: bin
12
12
  cert_chain: []
13
- date: 2024-12-10 00:00:00.000000000 Z
13
+ date: 2025-02-07 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: factory_bot
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: '6.4'
182
- type: :development
183
- prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - "~>"
187
- - !ruby/object:Gem::Version
188
- version: '6.4'
189
- - !ruby/object:Gem::Dependency
190
- name: faker
191
- requirement: !ruby/object:Gem::Requirement
192
- requirements:
193
- - - "~>"
194
- - !ruby/object:Gem::Version
195
- version: '3.5'
196
- type: :development
197
- prerelease: false
198
- version_requirements: !ruby/object:Gem::Requirement
199
- requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '3.5'
203
15
  - !ruby/object:Gem::Dependency
204
16
  name: elasticgraph-admin
205
17
  requirement: !ruby/object:Gem::Requirement
206
18
  requirements:
207
19
  - - '='
208
20
  - !ruby/object:Gem::Version
209
- version: 0.19.0.0
21
+ version: 0.19.1.1
210
22
  type: :runtime
211
23
  prerelease: false
212
24
  version_requirements: !ruby/object:Gem::Requirement
213
25
  requirements:
214
26
  - - '='
215
27
  - !ruby/object:Gem::Version
216
- version: 0.19.0.0
28
+ version: 0.19.1.1
217
29
  - !ruby/object:Gem::Dependency
218
30
  name: elasticgraph-graphql
219
31
  requirement: !ruby/object:Gem::Requirement
220
32
  requirements:
221
33
  - - '='
222
34
  - !ruby/object:Gem::Version
223
- version: 0.19.0.0
35
+ version: 0.19.1.1
224
36
  type: :runtime
225
37
  prerelease: false
226
38
  version_requirements: !ruby/object:Gem::Requirement
227
39
  requirements:
228
40
  - - '='
229
41
  - !ruby/object:Gem::Version
230
- version: 0.19.0.0
42
+ version: 0.19.1.1
231
43
  - !ruby/object:Gem::Dependency
232
44
  name: elasticgraph-indexer
233
45
  requirement: !ruby/object:Gem::Requirement
234
46
  requirements:
235
47
  - - '='
236
48
  - !ruby/object:Gem::Version
237
- version: 0.19.0.0
49
+ version: 0.19.1.1
238
50
  type: :runtime
239
51
  prerelease: false
240
52
  version_requirements: !ruby/object:Gem::Requirement
241
53
  requirements:
242
54
  - - '='
243
55
  - !ruby/object:Gem::Version
244
- version: 0.19.0.0
56
+ version: 0.19.1.1
245
57
  - !ruby/object:Gem::Dependency
246
58
  name: elasticgraph-rack
247
59
  requirement: !ruby/object:Gem::Requirement
248
60
  requirements:
249
61
  - - '='
250
62
  - !ruby/object:Gem::Version
251
- version: 0.19.0.0
63
+ version: 0.19.1.1
252
64
  type: :runtime
253
65
  prerelease: false
254
66
  version_requirements: !ruby/object:Gem::Requirement
255
67
  requirements:
256
68
  - - '='
257
69
  - !ruby/object:Gem::Version
258
- version: 0.19.0.0
70
+ version: 0.19.1.1
259
71
  - !ruby/object:Gem::Dependency
260
72
  name: elasticgraph-schema_definition
261
73
  requirement: !ruby/object:Gem::Requirement
262
74
  requirements:
263
75
  - - '='
264
76
  - !ruby/object:Gem::Version
265
- version: 0.19.0.0
77
+ version: 0.19.1.1
266
78
  type: :runtime
267
79
  prerelease: false
268
80
  version_requirements: !ruby/object:Gem::Requirement
269
81
  requirements:
270
82
  - - '='
271
83
  - !ruby/object:Gem::Version
272
- version: 0.19.0.0
84
+ version: 0.19.1.1
273
85
  - !ruby/object:Gem::Dependency
274
86
  name: rackup
275
87
  requirement: !ruby/object:Gem::Requirement
@@ -313,47 +125,47 @@ dependencies:
313
125
  - !ruby/object:Gem::Version
314
126
  version: '1.9'
315
127
  - !ruby/object:Gem::Dependency
316
- name: elasticgraph-elasticsearch
128
+ name: elasticgraph-apollo
317
129
  requirement: !ruby/object:Gem::Requirement
318
130
  requirements:
319
131
  - - '='
320
132
  - !ruby/object:Gem::Version
321
- version: 0.19.0.0
133
+ version: 0.19.1.1
322
134
  type: :development
323
135
  prerelease: false
324
136
  version_requirements: !ruby/object:Gem::Requirement
325
137
  requirements:
326
138
  - - '='
327
139
  - !ruby/object:Gem::Version
328
- version: 0.19.0.0
140
+ version: 0.19.1.1
329
141
  - !ruby/object:Gem::Dependency
330
- name: elasticgraph-opensearch
142
+ name: elasticgraph-elasticsearch
331
143
  requirement: !ruby/object:Gem::Requirement
332
144
  requirements:
333
145
  - - '='
334
146
  - !ruby/object:Gem::Version
335
- version: 0.19.0.0
147
+ version: 0.19.1.1
336
148
  type: :development
337
149
  prerelease: false
338
150
  version_requirements: !ruby/object:Gem::Requirement
339
151
  requirements:
340
152
  - - '='
341
153
  - !ruby/object:Gem::Version
342
- version: 0.19.0.0
154
+ version: 0.19.1.1
343
155
  - !ruby/object:Gem::Dependency
344
- name: httpx
156
+ name: elasticgraph-opensearch
345
157
  requirement: !ruby/object:Gem::Requirement
346
158
  requirements:
347
- - - "~>"
159
+ - - '='
348
160
  - !ruby/object:Gem::Version
349
- version: '1.3'
161
+ version: 0.19.1.1
350
162
  type: :development
351
163
  prerelease: false
352
164
  version_requirements: !ruby/object:Gem::Requirement
353
165
  requirements:
354
- - - "~>"
166
+ - - '='
355
167
  - !ruby/object:Gem::Version
356
- version: '1.3'
168
+ version: 0.19.1.1
357
169
  description:
358
170
  email:
359
171
  - myron@squareup.com
@@ -363,7 +175,6 @@ extra_rdoc_files: []
363
175
  files:
364
176
  - LICENSE.txt
365
177
  - README.md
366
- - elasticgraph-local.gemspec
367
178
  - lib/elastic_graph/local/config.ru
368
179
  - lib/elastic_graph/local/docker_runner.rb
369
180
  - lib/elastic_graph/local/elasticsearch/Dockerfile
@@ -375,16 +186,17 @@ files:
375
186
  - lib/elastic_graph/local/opensearch/UI-Dockerfile
376
187
  - lib/elastic_graph/local/opensearch/docker-compose.yaml
377
188
  - lib/elastic_graph/local/rake_tasks.rb
189
+ - lib/elastic_graph/local/spec_support/common_project_specs.rb
378
190
  - lib/elastic_graph/local/tested_datastore_versions.yaml
379
191
  homepage: https://block.github.io/elasticgraph/
380
192
  licenses:
381
193
  - MIT
382
194
  metadata:
383
195
  bug_tracker_uri: https://github.com/block/elasticgraph/issues
384
- changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.0.0
196
+ changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.1.1
385
197
  documentation_uri: https://block.github.io/elasticgraph/docs/main/
386
198
  homepage_uri: https://block.github.io/elasticgraph/
387
- source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.0.0/elasticgraph-local
199
+ source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.1.1/elasticgraph-local
388
200
  gem_category: local
389
201
  post_install_message:
390
202
  rdoc_options: []
@@ -392,9 +204,12 @@ require_paths:
392
204
  - lib
393
205
  required_ruby_version: !ruby/object:Gem::Requirement
394
206
  requirements:
395
- - - "~>"
207
+ - - ">="
396
208
  - !ruby/object:Gem::Version
397
209
  version: '3.2'
210
+ - - "<"
211
+ - !ruby/object:Gem::Version
212
+ version: '3.5'
398
213
  required_rubygems_version: !ruby/object:Gem::Requirement
399
214
  requirements:
400
215
  - - ">="
@@ -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 = "Provides support for developing and running ElasticGraph applications locally."
13
-
14
- spec.add_dependency "elasticgraph-admin", eg_version
15
- spec.add_dependency "elasticgraph-graphql", eg_version
16
- spec.add_dependency "elasticgraph-indexer", eg_version
17
- spec.add_dependency "elasticgraph-rack", eg_version
18
- spec.add_dependency "elasticgraph-schema_definition", eg_version
19
- spec.add_dependency "rackup", "~> 2.2"
20
- spec.add_dependency "rake", "~> 13.2"
21
- spec.add_dependency "webrick", "~> 1.9"
22
-
23
- spec.add_development_dependency "elasticgraph-elasticsearch", eg_version
24
- spec.add_development_dependency "elasticgraph-opensearch", eg_version
25
- spec.add_development_dependency "httpx", "~> 1.3"
26
- end