elasticgraph-schema_artifacts 1.1.0 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04c57e1fd04281add1acbfba8c9fd0a5274b9e2065758c723b0c10f758afb1b4
4
- data.tar.gz: a5450c7dcd183d54afa4f7bdd17b6cf138cf879365b81d9799a4e4ba9da4066f
3
+ metadata.gz: 6501711f00b24ee9190c8d1b783ca537dfb97f6612b4f3ed4ac7dc22722edaf3
4
+ data.tar.gz: 027af3127b038b5f4c5bab652aff578f21aa0b47da4adb57fa5d7dfceed26dac
5
5
  SHA512:
6
- metadata.gz: 66dd782d2ce326dd52857cbd84b084ae42446f2074c7eb1c6071ff347efe5539ea4ca528ebc974f9ae6e04e866f065921e33b7cfb5c01ad82223e16a5adfad7b
7
- data.tar.gz: c816ecb4c361379e68aa5a28a54ce9e1f78cfda29784321fe5f92318306d9b7e090869ab7f20ef12f95d638ef2e87f6bc82345336d73e4c32bbec5d1f66ac785
6
+ metadata.gz: 5d6d975ea54fba95575da9e1653923d1ab2a0473312780199f0f9baf98243b222edd8a25771a11b5e0978b4bd28774b992298395dadebc822617f66eb33715bb
7
+ data.tar.gz: c3c71b898d6d7021718ee2d0067d546782a5f21f3b8c62b06f933f46723688db527d5e1c1b90b844663fa41caa0b20065cd885575a4e1770eb92a7ba928ba53b
@@ -21,11 +21,11 @@ module ElasticGraph
21
21
  const_set(:ELEMENT_NAMES, element_names)
22
22
 
23
23
  define_method :initialize do |form:, overrides: {}|
24
- extend(CONVERTERS.fetch(form.to_s) do
24
+ converter = CONVERTERS.fetch(form.to_s) do
25
25
  raise Errors::SchemaError,
26
26
  "Invalid schema element name form: #{form.inspect}. " \
27
27
  "Only valid values are: #{CONVERTERS.keys.inspect}."
28
- end)
28
+ end
29
29
 
30
30
  unused_keys = overrides.keys.map(&:to_s) - element_names.map(&:to_s)
31
31
  if unused_keys.any?
@@ -37,7 +37,7 @@ module ElasticGraph
37
37
  exposed_name_by_canonical_name = element_names.each_with_object({}) do |element, names|
38
38
  names[element] = overrides.fetch(element) do
39
39
  overrides.fetch(element.to_s) do
40
- normalize_case(element.to_s)
40
+ converter.normalize_case(element.to_s)
41
41
  end
42
42
  end.to_s
43
43
  end.freeze
@@ -59,6 +59,11 @@ module ElasticGraph
59
59
  define_method(method_name) { exposed_name_by_canonical_name.fetch(element) }
60
60
  end
61
61
 
62
+ # Converts a name to the configured case form (snake_case or camelCase).
63
+ def normalize_case(name)
64
+ CONVERTERS.fetch(form.to_s).normalize_case(name)
65
+ end
66
+
62
67
  # Returns the _canonical_ name for the given _exposed name_. The canonical name
63
68
  # is the name we use within the source code of our framework; the exposed name
64
69
  # is the name exposed in the specific GraphQL schema based on the configuration
@@ -123,7 +128,7 @@ module ElasticGraph
123
128
  extend self
124
129
 
125
130
  def normalize_case(name)
126
- name.gsub(/_(\w)/) { $1.upcase }
131
+ name.gsub(/(?<=\w)_(\w)/) { $1.upcase }
127
132
  end
128
133
  end
129
134
 
@@ -136,7 +141,7 @@ module ElasticGraph
136
141
  # @private
137
142
  SchemaElementNames = SchemaElementNamesDefinition.new(
138
143
  # Filter arg and operation names:
139
- :filter,
144
+ :filter, :_typename,
140
145
  :equal_to_any_of, :gt, :gte, :lt, :lte, :matches_phrase, :matches_query, :matches_query_with_prefix, :any_of, :all_of, :not,
141
146
  :time_of_day, :any_satisfy, :contains, :starts_with, :all_substrings_of, :any_substring_of, :ignore_case, :any_prefix_of,
142
147
  # Directives
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticgraph-schema_artifacts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myron Marston
@@ -17,42 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 1.1.0
20
+ version: 1.2.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 1.1.0
27
+ version: 1.2.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: elasticgraph-graphql
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 1.1.0
34
+ version: 1.2.0
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 1.1.0
41
+ version: 1.2.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: elasticgraph-indexer
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 1.1.0
48
+ version: 1.2.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 1.1.0
55
+ version: 1.2.0
56
56
  email:
57
57
  - myron@squareup.com
58
58
  executables: []
@@ -89,10 +89,10 @@ licenses:
89
89
  - MIT
90
90
  metadata:
91
91
  bug_tracker_uri: https://github.com/block/elasticgraph/issues
92
- changelog_uri: https://github.com/block/elasticgraph/releases/tag/v1.1.0
93
- documentation_uri: https://block.github.io/elasticgraph/api-docs/v1.1.0/
92
+ changelog_uri: https://github.com/block/elasticgraph/releases/tag/v1.2.0
93
+ documentation_uri: https://block.github.io/elasticgraph/api-docs/v1.2.0/
94
94
  homepage_uri: https://block.github.io/elasticgraph/
95
- source_code_uri: https://github.com/block/elasticgraph/tree/v1.1.0/elasticgraph-schema_artifacts
95
+ source_code_uri: https://github.com/block/elasticgraph/tree/v1.2.0/elasticgraph-schema_artifacts
96
96
  gem_category: core
97
97
  rdoc_options: []
98
98
  require_paths:
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 4.0.3
114
+ rubygems_version: 4.0.6
115
115
  specification_version: 4
116
116
  summary: Provides access to ElasticGraph schema artifacts.
117
117
  test_files: []