elasticgraph-support 0.18.0.4 → 0.19.0.0.rc1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 877b7b0239bb8bf71a90c6b902caea22e9d896639c36559f8131a399baea2174
4
- data.tar.gz: d9d00fd7c6e1d64623558d349d0c21cefa9917174fd3968fd36550dd8620ab33
3
+ metadata.gz: 0a193352b5ff270c94cbc560947d3cd95f447b0ae382aa01776edc55979fbffc
4
+ data.tar.gz: 2c641e634b2f3ce460215a0ef3d6ec34d4552ebc020ba7971ac1ae0b2ee9b9e5
5
5
  SHA512:
6
- metadata.gz: 3bc7f20e71e4e2a01e75154f3f426b60175237d945b9cc6b615c1e17ca0ae8cc69fcfeb32cba432f0fd185f35ef9c88796ec665ef12a2892d35b1d58138b0783
7
- data.tar.gz: 28039deba22250e2017713182b8a977de0af9dac17493c7343585e01932bc03c8649cfb92ba76480573c32146dcd296f4417300cd649470d8cb1d022448d9323
6
+ metadata.gz: 18027b60fd812f32fcf60b94ff40a3883a374ec105bd8dd2c35f503cf429ff81dfb58463f8943fa87139e57797bf740fdfcb89e75df33dd8069a4da7fdf1454f
7
+ data.tar.gz: 92cdf122aa05b9feb9a4077429537c9a74d5df61e73f50704530e58814adb54a1c80360c5e0189e033e3fae8ffa463d7b4db63f491d56db5f54653d75c663a66
@@ -18,6 +18,6 @@ ElasticGraphGemspecHelper.define_elasticgraph_gem(gemspec_file: __FILE__, catego
18
18
  # https://github.com/aws/aws-lambda-ruby-runtime-interface-client/issues/33
19
19
  spec.add_dependency "logger", "~> 1.6", ">= 1.6.1"
20
20
 
21
- spec.add_development_dependency "faraday", "~> 2.11"
21
+ spec.add_development_dependency "faraday", "~> 2.12"
22
22
  spec.add_development_dependency "rake", "~> 13.2"
23
23
  end
@@ -6,18 +6,23 @@
6
6
  #
7
7
  # frozen_string_literal: true
8
8
 
9
- # Enumerates constants that are used from multiple places in the code.
9
+ # Root namespace for all ElasticGraph code.
10
10
  module ElasticGraph
11
+ # Here we enumerate constants that are used from multiple places in the code.
12
+
11
13
  # The datastore date format used by ElasticGraph. Matches ISO-8601/RFC-3339.
12
14
  # See https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats
15
+ # @private
13
16
  DATASTORE_DATE_FORMAT = "strict_date"
14
17
 
15
18
  # The datastore date time format used by ElasticGraph. Matches ISO-8601/RFC-3339.
16
19
  # See https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats
20
+ # @private
17
21
  DATASTORE_DATE_TIME_FORMAT = "strict_date_time"
18
22
 
19
23
  # HTTP header that ElasticGraph HTTP implementations (e.g. elasticgraph-rack, elasticgraph-lambda)
20
24
  # look at to determine a client-specified request timeout.
25
+ # @private
21
26
  TIMEOUT_MS_HEADER = "ElasticGraph-Request-Timeout-Ms"
22
27
 
23
28
  # Min/max values for the `Int` type.
@@ -27,19 +32,25 @@ module ElasticGraph
27
32
  # > than or equal to 2^31, a field error should be raised.
28
33
  #
29
34
  # (from http://spec.graphql.org/June2018/#sec-Int)
35
+ # @private
30
36
  INT_MIN = -(2**31).to_int
37
+ # @private
31
38
  INT_MAX = -INT_MIN - 1
32
39
 
33
40
  # Min/max values for our `JsonSafeLong` type.
34
41
  # Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
42
+ # @private
35
43
  JSON_SAFE_LONG_MIN = -((2**53) - 1).to_int
44
+ # @private
36
45
  JSON_SAFE_LONG_MAX = -JSON_SAFE_LONG_MIN
37
46
 
38
47
  # Min/max values for our `LongString` type.
39
48
  # This range is derived from the Elasticsearch docs on its longs:
40
49
  # > A signed 64-bit integer with a minimum value of -2^63 and a maximum value of 2^63 - 1.
41
50
  # (from https://www.elastic.co/guide/en/elasticsearch/reference/current/number.html)
51
+ # @private
42
52
  LONG_STRING_MIN = -(2**63).to_int
53
+ # @private
43
54
  LONG_STRING_MAX = -LONG_STRING_MIN - 1
44
55
 
45
56
  # When indexing large string values into the datastore, we've observed errors like:
@@ -52,6 +63,7 @@ module ElasticGraph
52
63
  # Note that it's a byte limit, but JSON schema's maxLength is a limit on the number of characters.
53
64
  # UTF8 uses up to 4 bytes per character so to guard against a maliciously crafted payload, we limit
54
65
  # the length to a quarter of 32766.
66
+ # @private
55
67
  DEFAULT_MAX_KEYWORD_LENGTH = 32766 / 4
56
68
 
57
69
  # Strings indexed as `text` can be much larger than `keyword` fields. In fact, there's no limitation
@@ -65,9 +77,11 @@ module ElasticGraph
65
77
  # is on the overall payload size, and not on the size of one field. Given that, there's not really a
66
78
  # discrete value we can use for the max length that guarantees successful indexing. But we know that
67
79
  # values larger than this will fail, so this is the limit we use.
80
+ # @private
68
81
  DEFAULT_MAX_TEXT_LENGTH = 100 * (2**20).to_int
69
82
 
70
83
  # The name of the JSON schema definition for the ElasticGraph event envelope.
84
+ # @private
71
85
  EVENT_ENVELOPE_JSON_SCHEMA_NAME = "ElasticGraphEventEnvelope"
72
86
 
73
87
  # For some queries, we wind up needing a pagination cursor for a collection
@@ -76,23 +90,32 @@ module ElasticGraph
76
90
  # Ideally, we want this to be a value that could never be produced by our normal
77
91
  # cursor encoding logic. This cursor is encoded from data that includes a UUID,
78
92
  # which we can trust is unique.
93
+ # @private
79
94
  SINGLETON_CURSOR = "eyJ1dWlkIjoiZGNhMDJkMjAtYmFlZS00ZWU5LWEwMjctZmVlY2UwYTZkZTNhIn0="
80
95
 
81
96
  # Schema artifact file names.
97
+ # @private
82
98
  GRAPHQL_SCHEMA_FILE = "schema.graphql"
99
+ # @private
83
100
  JSON_SCHEMAS_FILE = "json_schemas.yaml"
101
+ # @private
84
102
  DATASTORE_CONFIG_FILE = "datastore_config.yaml"
103
+ # @private
85
104
  RUNTIME_METADATA_FILE = "runtime_metadata.yaml"
86
105
 
87
106
  # Name for directory that contains versioned json_schemas files.
107
+ # @private
88
108
  JSON_SCHEMAS_BY_VERSION_DIRECTORY = "json_schemas_by_version"
89
109
  # Name for field in json schemas files that represents schema "version".
110
+ # @private
90
111
  JSON_SCHEMA_VERSION_KEY = "json_schema_version"
91
112
 
92
113
  # String that goes in the middle of a rollover index name, used to mark it as a rollover
93
114
  # index (and split on to parse a rollover index name).
115
+ # @private
94
116
  ROLLOVER_INDEX_INFIX_MARKER = "_rollover__"
95
117
 
118
+ # @private
96
119
  DERIVED_INDEX_FAILURE_MESSAGE_PREAMBLE = "Derived index update failed due to bad input data"
97
120
 
98
121
  # The current id of our static `index_data` update script. Verified by a test so you can count
@@ -101,6 +124,7 @@ module ElasticGraph
101
124
  # defined) being available, since that gem is usually only used in development.
102
125
  #
103
126
  # Note: this constant is automatically kept up-to-date by our `schema_artifacts:dump` rake task.
127
+ # @private
104
128
  INDEX_DATA_UPDATE_SCRIPT_ID = "update_index_data_d577eb4b07ee3c53b59f2f6d6c7b2413"
105
129
 
106
130
  # The id of the old version of the update data script before ElasticGraph v0.9. For now, we are maintaining
@@ -108,6 +132,7 @@ module ElasticGraph
108
132
  # upon this id.
109
133
  #
110
134
  # TODO: Drop this when we no longer need to maintain backwards-compatibility.
135
+ # @private
111
136
  OLD_INDEX_DATA_UPDATE_SCRIPT_ID = "update_index_data_9b97090d5c97c4adc82dc7f4c2b89bc5"
112
137
 
113
138
  # When an update script has a no-op result we often want to communicate more information about
@@ -116,6 +141,7 @@ module ElasticGraph
116
141
  # custom exception classes. To allow elasticgraph-indexer to detect that the script "failed" due
117
142
  # to a no-op (rather than a true failure) we include this common preamble in the exception message
118
143
  # thrown from our update scripts for the no-op case.
144
+ # @private
119
145
  UPDATE_WAS_NOOP_MESSAGE_PREAMBLE = "ElasticGraph update was a no-op: "
120
146
 
121
147
  # The name used to refer to a document's own/primary source event (that is, the event that has a `type`
@@ -123,10 +149,12 @@ module ElasticGraph
123
149
  # defined via the `relates_to_one`/`relates_to_many` APIs. The GraphQL spec reserves the double-underscore
124
150
  # prefix on field names, which means that users cannot define a relationship named `__self` via the
125
151
  # `relates_to_one`/`relates_to_many` APIs.
152
+ # @private
126
153
  SELF_RELATIONSHIP_NAME = "__self"
127
154
 
128
155
  # This regex aligns with the datastore format of HH:mm:ss || HH:mm:ss.S || HH:mm:ss.SS || HH:mm:ss.SSS
129
156
  # See https://rubular.com/r/NHjBWrpZvzOTJO for examples.
157
+ # @private
130
158
  VALID_LOCAL_TIME_REGEX = /\A(([0-1][0-9])|(2[0-3])):[0-5][0-9]:[0-5][0-9](\.[0-9]{1,3})?\z/
131
159
 
132
160
  # `VALID_LOCAL_TIME_REGEX`, expressed as a JSON schema pattern. JSON schema supports a subset of
@@ -136,6 +164,7 @@ module ElasticGraph
136
164
  # For more info, see:
137
165
  # https://json-schema.org/understanding-json-schema/reference/regular_expressions.html
138
166
  # http://www.rexegg.com/regex-anchors.html
167
+ # @private
139
168
  VALID_LOCAL_TIME_JSON_SCHEMA_PATTERN = VALID_LOCAL_TIME_REGEX.source.sub(/\A\\A/, "^").sub(/\\z\z/, "$")
140
169
 
141
170
  # Special hidden field defined in an index where we store the count of elements in each list field.
@@ -144,6 +173,7 @@ module ElasticGraph
144
173
  #
145
174
  # The field name has a leading `__` because the GraphQL spec reserves that prefix for its own use,
146
175
  # and we can therefore assume that no GraphQL fields have this name.
176
+ # @private
147
177
  LIST_COUNTS_FIELD = "__counts"
148
178
 
149
179
  # Character used to separate parts of a field path for the keys in the special `__counts`
@@ -158,6 +188,7 @@ module ElasticGraph
158
188
  # (for the parent list count) and an object containing counts of its child lists.
159
189
  #
160
190
  # By using `|` instead of `.`, we avoid this problem.
191
+ # @private
161
192
  LIST_COUNTS_FIELD_PATH_KEY_SEPARATOR = "|"
162
193
 
163
194
  # The set of datastore field types which have no `properties` in the mapping, but which
@@ -165,6 +196,7 @@ module ElasticGraph
165
196
  #
166
197
  # I built this list by auditing the full list of index field mapping types:
167
198
  # https://www.elastic.co/guide/en/elasticsearch/reference/8.9/mapping-types.html
199
+ # @private
168
200
  DATASTORE_PROPERTYLESS_OBJECT_TYPES = [
169
201
  "aggregate_metric_double", # https://www.elastic.co/guide/en/elasticsearch/reference/8.9/aggregate-metric-double.html
170
202
  "completion", # https://www.elastic.co/guide/en/elasticsearch/reference/8.9/search-suggesters.html#completion-suggester
@@ -184,19 +216,24 @@ module ElasticGraph
184
216
  # http://spec.graphql.org/June2018/#sec-Names
185
217
  #
186
218
  # ...however, it allows additional non-valid characters before and after it.
219
+ # @private
187
220
  GRAPHQL_NAME_WITHIN_LARGER_STRING_PATTERN = /[_A-Za-z][_0-9A-Za-z]*/
188
221
 
189
222
  # This pattern exactly matches a valid GraphQL name, with no extra characters allowed before or after.
223
+ # @private
190
224
  GRAPHQL_NAME_PATTERN = /\A#{GRAPHQL_NAME_WITHIN_LARGER_STRING_PATTERN}\z/
191
225
 
192
226
  # Description in English of the requirements for GraphQL names. (Used in multiple error messages).
227
+ # @private
193
228
  GRAPHQL_NAME_VALIDITY_DESCRIPTION = "Names are limited to ASCII alphanumeric characters (plus underscore), and cannot start with a number."
194
229
 
195
230
  # The standard set of scalars that are defined by the GraphQL spec:
196
231
  # https://spec.graphql.org/October2021/#sec-Scalars
232
+ # @private
197
233
  STOCK_GRAPHQL_SCALARS = %w[Boolean Float ID Int String].to_set.freeze
198
234
 
199
235
  # The current variant of JSON schema that we use.
236
+ # @private
200
237
  JSON_META_SCHEMA = "http://json-schema.org/draft-07/schema#"
201
238
 
202
239
  # Filter the bulk response payload with a comma separated list using dot notation.
@@ -205,6 +242,7 @@ module ElasticGraph
205
242
  # Note: anytime you change this constant, be sure to check all the comments in the unit specs that mention this constant.
206
243
  # When stubbing a datastore client test double, it doesn't respect this filtering obviously, so it's up to us
207
244
  # to accurately mimic the filtering in our stubbed responses.
245
+ # @private
208
246
  DATASTORE_BULK_FILTER_PATH = [
209
247
  # The key under `items` names the type of operation (e.g. `index` or `update`) and
210
248
  # we use a `*` for it since we always use that key, regardless of which operation it is.
@@ -212,6 +250,7 @@ module ElasticGraph
212
250
  ].join(",")
213
251
 
214
252
  # HTTP header set by `elasticgraph-graphql_lambda` to indicate the AWS ARN of the caller.
253
+ # @private
215
254
  GRAPHQL_LAMBDA_AWS_ARN_HEADER = "X-AWS-LAMBDA-CALLER-ARN"
216
255
 
217
256
  # TODO(steep): it complains about `define_schema` not being defined but it is defined
@@ -0,0 +1,84 @@
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
+ module ElasticGraph
10
+ # @private
11
+ module Errors
12
+ class Error < StandardError
13
+ end
14
+
15
+ class CursorEncoderError < Error
16
+ end
17
+
18
+ class InvalidSortFieldsError < CursorEncoderError
19
+ end
20
+
21
+ class InvalidCursorError < CursorEncoderError
22
+ end
23
+
24
+ class CursorEncodingError < CursorEncoderError
25
+ end
26
+
27
+ class CountUnavailableError < Error
28
+ end
29
+
30
+ class InvalidArgumentValueError < Error
31
+ end
32
+
33
+ class InvalidMergeError < Error
34
+ end
35
+
36
+ class SchemaError < Error
37
+ end
38
+
39
+ class InvalidGraphQLNameError < SchemaError
40
+ end
41
+
42
+ class NotFoundError < Error
43
+ end
44
+
45
+ class SearchFailedError < Error
46
+ end
47
+
48
+ class RequestExceededDeadlineError < SearchFailedError
49
+ end
50
+
51
+ class IdentifyDocumentVersionsFailedError < Error
52
+ end
53
+
54
+ class IndexOperationError < Error
55
+ end
56
+
57
+ class ClusterOperationError < Error
58
+ end
59
+
60
+ class InvalidExtensionError < Error
61
+ end
62
+
63
+ class ConfigError < Error
64
+ end
65
+
66
+ class ConfigSettingNotSetError < ConfigError
67
+ end
68
+
69
+ class InvalidScriptDirectoryError < Error
70
+ end
71
+
72
+ class MissingSchemaArtifactError < Error
73
+ end
74
+
75
+ class S3OperationFailedError < Error
76
+ end
77
+
78
+ class MessageIdsMissingError < Error
79
+ end
80
+
81
+ class BadDatastoreRequest < Error
82
+ end
83
+ end
84
+ end
@@ -8,6 +8,7 @@
8
8
 
9
9
  module ElasticGraph
10
10
  module Support
11
+ # @private
11
12
  module FaradayMiddleware
12
13
  # Custom Faraday middleware that forces `msearch` calls to use an HTTP GET instead of an HTTP POST. While not
13
14
  # necessary, it preserves a useful property: all "read" calls made by ElasticGraph use an HTTP GET, and HTTP POST
@@ -7,10 +7,11 @@
7
7
  # frozen_string_literal: true
8
8
 
9
9
  require "elastic_graph/constants"
10
- require "elastic_graph/error"
10
+ require "elastic_graph/errors"
11
11
 
12
12
  module ElasticGraph
13
13
  module Support
14
+ # @private
14
15
  module FaradayMiddleware
15
16
  # Faraday supports specifying a timeout at both the client level (when building the Faraday connection) or on a
16
17
  # per-request basis. We want to specify it on a per-request basis, but unfortunately, the Elasticsearch/OpenSearch
@@ -23,12 +24,12 @@ module ElasticGraph
23
24
  # @implements SupportTimeouts
24
25
  def call(env)
25
26
  if (timeout_ms = env.request_headers.delete(TIMEOUT_MS_HEADER))
26
- env.request.timeout = timeout_ms / 1000.0
27
+ env.request.timeout = Integer(timeout_ms) / 1000.0
27
28
  end
28
29
 
29
30
  app.call(env)
30
31
  rescue ::Faraday::TimeoutError
31
- raise RequestExceededDeadlineError, "Datastore request exceeded timeout of #{timeout_ms} ms."
32
+ raise Errors::RequestExceededDeadlineError, "Datastore request exceeded timeout of #{timeout_ms} ms."
32
33
  end
33
34
  end
34
35
  end
@@ -9,7 +9,10 @@
9
9
  require "yaml"
10
10
 
11
11
  module ElasticGraph
12
+ # Provides support utilities for the rest of the ElasticGraph gems. As such, it is not intended
13
+ # to provide public APIs for ElasticGraph users.
12
14
  module Support
15
+ # @private
13
16
  module FromYamlFile
14
17
  # Factory method that will build an instance from the provided `yaml_file`.
15
18
  # `datastore_client_customization_block:` can be passed to customize the datastore clients.
@@ -11,6 +11,8 @@ require "json"
11
11
  module ElasticGraph
12
12
  module Support
13
13
  # Utility module that provides helper methods for generating well-formatted GraphQL syntax.
14
+ #
15
+ # @private
14
16
  module GraphQLFormatter
15
17
  # Formats the given hash as an argument list. If `args` is empty, returns an empty string.
16
18
  # Otherwise, wraps the args list in parens. This allows the returned string to be appended
@@ -8,6 +8,7 @@
8
8
 
9
9
  module ElasticGraph
10
10
  module Support
11
+ # @private
11
12
  class HashUtil
12
13
  # Fetches a key from a hash (just like `Hash#fetch`) but with a more verbose error message when the key is not found.
13
14
  # The error message indicates the available keys unlike `Hash#fetch`.
@@ -6,19 +6,21 @@
6
6
  #
7
7
  # frozen_string_literal: true
8
8
 
9
- require "elastic_graph/error"
9
+ require "elastic_graph/errors"
10
10
  require "json"
11
11
  require "logger"
12
12
  require "pathname"
13
13
 
14
14
  module ElasticGraph
15
15
  module Support
16
+ # @private
16
17
  module Logger
17
18
  # Builds a logger instance from the given parsed YAML config.
18
19
  def self.from_parsed_yaml(parsed_yaml)
19
20
  Factory.build(config: Config.from_parsed_yaml(parsed_yaml))
20
21
  end
21
22
 
23
+ # @private
22
24
  module Factory
23
25
  def self.build(config:, device: nil)
24
26
  ::Logger.new(
@@ -29,6 +31,7 @@ module ElasticGraph
29
31
  end
30
32
  end
31
33
 
34
+ # @private
32
35
  class JSONAwareFormatter
33
36
  def initialize
34
37
  @original_formatter = ::Logger::Formatter.new
@@ -40,6 +43,7 @@ module ElasticGraph
40
43
  end
41
44
  end
42
45
 
46
+ # @private
43
47
  class Config < ::Data.define(
44
48
  # Determines what severity level we log. Valid values are `DEBUG`, `INFO`, `WARN`,
45
49
  # `ERROR`, `FATAL` and `UNKNOWN`.
@@ -65,7 +69,7 @@ module ElasticGraph
65
69
  extra_keys = hash.keys - EXPECTED_KEYS
66
70
 
67
71
  unless extra_keys.empty?
68
- raise ConfigError, "Unknown `logger` config settings: #{extra_keys.join(", ")}"
72
+ raise Errors::ConfigError, "Unknown `logger` config settings: #{extra_keys.join(", ")}"
69
73
  end
70
74
 
71
75
  new(
@@ -9,6 +9,8 @@
9
9
  module ElasticGraph
10
10
  module Support
11
11
  # A simple abstraction that provides a monotonic clock.
12
+ #
13
+ # @private
12
14
  class MonotonicClock
13
15
  # Returns an abstract "now" value in integer milliseconds, suitable for calculating
14
16
  # a duration or deadline, without being impacted by leap seconds, etc.
@@ -8,6 +8,7 @@
8
8
 
9
9
  module ElasticGraph
10
10
  module Support
11
+ # @private
11
12
  module Threading
12
13
  # Like Enumerable#map, but performs the map in parallel using one thread per list item.
13
14
  # Exceptions that happen in the threads will propagate to the caller at the end.
@@ -20,6 +20,8 @@ module ElasticGraph
20
20
  # - An open range: a range with only an upper or lower bound (but not the other).
21
21
  # - A closed range: a range with an upper and lower bound.
22
22
  # - An empty range: a range that contains no `::Time`s, by virtue of its bounds having no overlap.
23
+ #
24
+ # @private
23
25
  class TimeSet < ::Data.define(:ranges)
24
26
  # Factory method to construct a `TimeSet` using a range with the given bounds.
25
27
  def self.of_range(gt: nil, gte: nil, lt: nil, lte: nil)
@@ -8,6 +8,7 @@
8
8
 
9
9
  module ElasticGraph
10
10
  module Support
11
+ # @private
11
12
  module TimeUtil
12
13
  NANOS_PER_SECOND = 1_000_000_000
13
14
  NANOS_PER_MINUTE = NANOS_PER_SECOND * 60
@@ -19,6 +19,8 @@ module ElasticGraph
19
19
  # Note: change this class with care. Changing the behavior to make `encode` produce different strings may result
20
20
  # in breaking queries if the `Untyped`s stored in the index were indexed using previous encoding logic.
21
21
  # A backfill into the datastore will likely be required to avoid this issue.
22
+ #
23
+ # @private
22
24
  module UntypedEncoder
23
25
  # Encodes the given untyped value to a String so it can be indexed in a Elasticsearch/OpenSearch `keyword` field.
24
26
  def self.encode(value)
@@ -8,7 +8,7 @@
8
8
 
9
9
  module ElasticGraph
10
10
  # The version of all ElasticGraph gems.
11
- VERSION = "0.18.0.4"
11
+ VERSION = "0.19.0.0.rc1"
12
12
 
13
13
  # Steep weirdly expects this here...
14
14
  # @dynamic self.define_schema
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticgraph-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0.4
4
+ version: 0.19.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myron Marston
8
+ - Ben VandenBos
9
+ - Block Engineering
8
10
  autorequire:
9
11
  bindir: exe
10
12
  cert_chain: []
11
- date: 2024-09-06 00:00:00.000000000 Z
13
+ date: 2024-12-03 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: rubocop-factory_bot
@@ -44,42 +46,42 @@ dependencies:
44
46
  requirements:
45
47
  - - "~>"
46
48
  - !ruby/object:Gem::Version
47
- version: '3.0'
49
+ version: '3.1'
48
50
  type: :development
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
54
  - - "~>"
53
55
  - !ruby/object:Gem::Version
54
- version: '3.0'
56
+ version: '3.1'
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: standard
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - "~>"
60
62
  - !ruby/object:Gem::Version
61
- version: 1.40.0
63
+ version: 1.41.0
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
68
  - - "~>"
67
69
  - !ruby/object:Gem::Version
68
- version: 1.40.0
70
+ version: 1.41.0
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: steep
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
75
  - - "~>"
74
76
  - !ruby/object:Gem::Version
75
- version: '1.7'
77
+ version: '1.8'
76
78
  type: :development
77
79
  prerelease: false
78
80
  version_requirements: !ruby/object:Gem::Requirement
79
81
  requirements:
80
82
  - - "~>"
81
83
  - !ruby/object:Gem::Version
82
- version: '1.7'
84
+ version: '1.8'
83
85
  - !ruby/object:Gem::Dependency
84
86
  name: coderay
85
87
  requirement: !ruby/object:Gem::Requirement
@@ -134,14 +136,14 @@ dependencies:
134
136
  requirements:
135
137
  - - "~>"
136
138
  - !ruby/object:Gem::Version
137
- version: '0.12'
139
+ version: '0.13'
138
140
  type: :development
139
141
  prerelease: false
140
142
  version_requirements: !ruby/object:Gem::Requirement
141
143
  requirements:
142
144
  - - "~>"
143
145
  - !ruby/object:Gem::Version
144
- version: '0.12'
146
+ version: '0.13'
145
147
  - !ruby/object:Gem::Dependency
146
148
  name: simplecov
147
149
  requirement: !ruby/object:Gem::Requirement
@@ -196,14 +198,14 @@ dependencies:
196
198
  requirements:
197
199
  - - "~>"
198
200
  - !ruby/object:Gem::Version
199
- version: '2.11'
201
+ version: '2.12'
200
202
  type: :development
201
203
  prerelease: false
202
204
  version_requirements: !ruby/object:Gem::Requirement
203
205
  requirements:
204
206
  - - "~>"
205
207
  - !ruby/object:Gem::Version
206
- version: '2.11'
208
+ version: '2.12'
207
209
  - !ruby/object:Gem::Dependency
208
210
  name: rake
209
211
  requirement: !ruby/object:Gem::Requirement
@@ -229,7 +231,7 @@ files:
229
231
  - README.md
230
232
  - elasticgraph-support.gemspec
231
233
  - lib/elastic_graph/constants.rb
232
- - lib/elastic_graph/error.rb
234
+ - lib/elastic_graph/errors.rb
233
235
  - lib/elastic_graph/support/faraday_middleware/msearch_using_get_instead_of_post.rb
234
236
  - lib/elastic_graph/support/faraday_middleware/support_timeouts.rb
235
237
  - lib/elastic_graph/support/from_yaml_file.rb
@@ -243,10 +245,15 @@ files:
243
245
  - lib/elastic_graph/support/time_util.rb
244
246
  - lib/elastic_graph/support/untyped_encoder.rb
245
247
  - lib/elastic_graph/version.rb
246
- homepage:
248
+ homepage: https://block.github.io/elasticgraph/
247
249
  licenses:
248
250
  - MIT
249
251
  metadata:
252
+ bug_tracker_uri: https://github.com/block/elasticgraph/issues
253
+ changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.0.0.rc1
254
+ documentation_uri: https://block.github.io/elasticgraph/docs/main/
255
+ homepage_uri: https://block.github.io/elasticgraph/
256
+ source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.0.0.rc1/elasticgraph-support
250
257
  gem_category: core
251
258
  post_install_message:
252
259
  rdoc_options: []
@@ -1,99 +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
- module ElasticGraph
10
- class Error < StandardError
11
- end
12
-
13
- class CursorEncoderError < Error
14
- end
15
-
16
- class InvalidSortFieldsError < CursorEncoderError
17
- end
18
-
19
- class InvalidCursorError < CursorEncoderError
20
- end
21
-
22
- class CursorEncodingError < CursorEncoderError
23
- end
24
-
25
- class CountUnavailableError < Error
26
- end
27
-
28
- class InvalidArgumentValueError < Error
29
- end
30
-
31
- class InvalidAggregationKeyError < Error
32
- end
33
-
34
- class InvalidMergeError < Error
35
- end
36
-
37
- class QueryMergeError < Error
38
- end
39
-
40
- class SchemaError < Error
41
- end
42
-
43
- class InvalidGraphQLNameError < SchemaError
44
- end
45
-
46
- class NotFoundError < Error
47
- end
48
-
49
- class SearchFailedError < Error
50
- end
51
-
52
- class RequestExceededDeadlineError < SearchFailedError
53
- end
54
-
55
- class IdentifyDocumentVersionsFailedError < Error
56
- end
57
-
58
- class IndexOperationError < Error
59
- end
60
-
61
- class ClusterOperationError < Error
62
- end
63
-
64
- class InvalidEventIDError < Error
65
- end
66
-
67
- class UnsupportedOperationError < Error
68
- end
69
-
70
- class InvalidExtensionError < Error
71
- end
72
-
73
- class ConfigError < Error
74
- end
75
-
76
- class ConfigSettingNotSetError < ConfigError
77
- end
78
-
79
- class ConfigCannotBeMutatedError < ConfigError
80
- end
81
-
82
- class UnknownYAMLSettingError < ConfigError
83
- end
84
-
85
- class InvalidScriptDirectoryError < Error
86
- end
87
-
88
- class MissingSchemaArtifactError < Error
89
- end
90
-
91
- class S3OperationFailedError < Error
92
- end
93
-
94
- class MessageIdsMissingError < Error
95
- end
96
-
97
- class BadDatastoreRequest < Error
98
- end
99
- end