algolia 3.2.2 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/algolia/api/usage_client.rb +2 -9
  5. data/lib/algolia/api_client.rb +1 -1
  6. data/lib/algolia/models/abtesting/ab_test.rb +0 -22
  7. data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +5 -2
  8. data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +0 -22
  9. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +0 -22
  10. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +0 -22
  11. data/lib/algolia/models/analytics/get_top_hits_response.rb +5 -2
  12. data/lib/algolia/models/analytics/get_top_searches_response.rb +5 -2
  13. data/lib/algolia/models/ingestion/auth_input.rb +5 -2
  14. data/lib/algolia/models/ingestion/auth_input_partial.rb +5 -2
  15. data/lib/algolia/models/ingestion/authentication.rb +0 -22
  16. data/lib/algolia/models/ingestion/authentication_create.rb +0 -22
  17. data/lib/algolia/models/ingestion/authentication_update.rb +0 -22
  18. data/lib/algolia/models/ingestion/destination.rb +0 -22
  19. data/lib/algolia/models/ingestion/destination_create.rb +0 -22
  20. data/lib/algolia/models/ingestion/destination_index_name.rb +0 -22
  21. data/lib/algolia/models/ingestion/destination_input.rb +5 -2
  22. data/lib/algolia/models/ingestion/destination_update.rb +0 -22
  23. data/lib/algolia/models/ingestion/docker_streams.rb +0 -22
  24. data/lib/algolia/models/ingestion/event.rb +0 -22
  25. data/lib/algolia/models/ingestion/mapping_input.rb +0 -22
  26. data/lib/algolia/models/ingestion/on_demand_trigger.rb +0 -22
  27. data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +0 -22
  28. data/lib/algolia/models/ingestion/platform_with_none.rb +5 -2
  29. data/lib/algolia/models/ingestion/push_task_payload.rb +0 -22
  30. data/lib/algolia/models/ingestion/run.rb +0 -22
  31. data/lib/algolia/models/ingestion/run_source_payload.rb +0 -22
  32. data/lib/algolia/models/ingestion/schedule_trigger.rb +0 -22
  33. data/lib/algolia/models/ingestion/schedule_trigger_input.rb +0 -22
  34. data/lib/algolia/models/ingestion/source.rb +0 -22
  35. data/lib/algolia/models/ingestion/source_big_query.rb +0 -22
  36. data/lib/algolia/models/ingestion/source_create.rb +0 -22
  37. data/lib/algolia/models/ingestion/source_csv.rb +0 -22
  38. data/lib/algolia/models/ingestion/source_docker.rb +0 -22
  39. data/lib/algolia/models/ingestion/source_input.rb +5 -2
  40. data/lib/algolia/models/ingestion/source_json.rb +0 -22
  41. data/lib/algolia/models/ingestion/source_update_docker.rb +0 -22
  42. data/lib/algolia/models/ingestion/source_update_input.rb +5 -2
  43. data/lib/algolia/models/ingestion/streaming_trigger.rb +0 -22
  44. data/lib/algolia/models/ingestion/subscription_trigger.rb +0 -22
  45. data/lib/algolia/models/ingestion/task.rb +0 -22
  46. data/lib/algolia/models/ingestion/task_create.rb +0 -22
  47. data/lib/algolia/models/ingestion/task_create_trigger.rb +5 -2
  48. data/lib/algolia/models/ingestion/task_create_v1.rb +0 -22
  49. data/lib/algolia/models/ingestion/task_input.rb +5 -2
  50. data/lib/algolia/models/ingestion/task_v1.rb +0 -22
  51. data/lib/algolia/models/ingestion/trigger.rb +5 -2
  52. data/lib/algolia/models/insights/added_to_cart_object_ids.rb +0 -22
  53. data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +0 -22
  54. data/lib/algolia/models/insights/clicked_filters.rb +0 -22
  55. data/lib/algolia/models/insights/clicked_object_ids.rb +0 -22
  56. data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +0 -22
  57. data/lib/algolia/models/insights/converted_filters.rb +0 -22
  58. data/lib/algolia/models/insights/converted_object_ids.rb +0 -22
  59. data/lib/algolia/models/insights/converted_object_ids_after_search.rb +0 -22
  60. data/lib/algolia/models/insights/discount.rb +5 -2
  61. data/lib/algolia/models/insights/events_items.rb +5 -2
  62. data/lib/algolia/models/insights/price.rb +5 -2
  63. data/lib/algolia/models/insights/purchased_object_ids.rb +0 -22
  64. data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +0 -22
  65. data/lib/algolia/models/insights/value.rb +5 -2
  66. data/lib/algolia/models/insights/viewed_filters.rb +0 -22
  67. data/lib/algolia/models/insights/viewed_object_ids.rb +0 -22
  68. data/lib/algolia/models/monitoring/incident.rb +0 -22
  69. data/lib/algolia/models/monitoring/server.rb +0 -22
  70. data/lib/algolia/models/personalization/event_scoring.rb +0 -22
  71. data/lib/algolia/models/query-suggestions/languages.rb +5 -2
  72. data/lib/algolia/models/query-suggestions/log_file.rb +0 -22
  73. data/lib/algolia/models/recommend/around_precision.rb +5 -2
  74. data/lib/algolia/models/recommend/around_radius.rb +5 -2
  75. data/lib/algolia/models/recommend/boolean_string.rb +32 -0
  76. data/lib/algolia/models/recommend/bought_together_query.rb +0 -22
  77. data/lib/algolia/models/recommend/distinct.rb +5 -2
  78. data/lib/algolia/models/recommend/facet_filters.rb +5 -2
  79. data/lib/algolia/models/recommend/fallback_params.rb +0 -22
  80. data/lib/algolia/models/recommend/get_recommend_task_response.rb +0 -22
  81. data/lib/algolia/models/recommend/highlight_result.rb +5 -2
  82. data/lib/algolia/models/recommend/highlight_result_option.rb +0 -22
  83. data/lib/algolia/models/recommend/ignore_plurals.rb +7 -3
  84. data/lib/algolia/models/recommend/looking_similar_query.rb +0 -22
  85. data/lib/algolia/models/recommend/numeric_filters.rb +5 -2
  86. data/lib/algolia/models/recommend/optional_filters.rb +5 -2
  87. data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +5 -2
  88. data/lib/algolia/models/recommend/recommendations_hit.rb +5 -2
  89. data/lib/algolia/models/recommend/recommendations_request.rb +5 -2
  90. data/lib/algolia/models/recommend/recommended_for_you_query.rb +0 -22
  91. data/lib/algolia/models/recommend/related_query.rb +0 -22
  92. data/lib/algolia/models/recommend/remove_stop_words.rb +5 -2
  93. data/lib/algolia/models/recommend/search_params.rb +0 -22
  94. data/lib/algolia/models/recommend/search_params_object.rb +0 -22
  95. data/lib/algolia/models/recommend/snippet_result.rb +5 -2
  96. data/lib/algolia/models/recommend/snippet_result_option.rb +0 -22
  97. data/lib/algolia/models/recommend/tag_filters.rb +5 -2
  98. data/lib/algolia/models/recommend/trending_facets_query.rb +0 -22
  99. data/lib/algolia/models/recommend/trending_items_query.rb +0 -22
  100. data/lib/algolia/models/recommend/typo_tolerance.rb +5 -2
  101. data/lib/algolia/models/recommend/value.rb +0 -22
  102. data/lib/algolia/models/search/around_precision.rb +5 -2
  103. data/lib/algolia/models/search/around_radius.rb +5 -2
  104. data/lib/algolia/models/search/attribute_to_update.rb +5 -2
  105. data/lib/algolia/models/search/automatic_facet_filters.rb +5 -2
  106. data/lib/algolia/models/search/batch_dictionary_entries_request.rb +0 -22
  107. data/lib/algolia/models/search/batch_request.rb +0 -22
  108. data/lib/algolia/models/search/boolean_string.rb +32 -0
  109. data/lib/algolia/models/search/browse_params.rb +5 -2
  110. data/lib/algolia/models/search/browse_params_object.rb +0 -22
  111. data/lib/algolia/models/search/built_in_operation.rb +0 -22
  112. data/lib/algolia/models/search/built_in_operation_value.rb +5 -2
  113. data/lib/algolia/models/search/condition.rb +0 -22
  114. data/lib/algolia/models/search/consequence_params.rb +0 -22
  115. data/lib/algolia/models/search/consequence_query.rb +5 -2
  116. data/lib/algolia/models/search/dictionary_entry.rb +0 -22
  117. data/lib/algolia/models/search/distinct.rb +5 -2
  118. data/lib/algolia/models/search/edit.rb +0 -22
  119. data/lib/algolia/models/search/facet_filters.rb +5 -2
  120. data/lib/algolia/models/search/get_task_response.rb +0 -22
  121. data/lib/algolia/models/search/highlight_result.rb +5 -2
  122. data/lib/algolia/models/search/highlight_result_option.rb +0 -22
  123. data/lib/algolia/models/search/ignore_plurals.rb +7 -3
  124. data/lib/algolia/models/search/index_settings.rb +0 -22
  125. data/lib/algolia/models/search/multiple_batch_request.rb +0 -22
  126. data/lib/algolia/models/search/numeric_filters.rb +5 -2
  127. data/lib/algolia/models/search/operation_index_params.rb +0 -22
  128. data/lib/algolia/models/search/optional_filters.rb +5 -2
  129. data/lib/algolia/models/search/promote.rb +5 -2
  130. data/lib/algolia/models/search/re_ranking_apply_filter.rb +5 -2
  131. data/lib/algolia/models/search/remove_stop_words.rb +5 -2
  132. data/lib/algolia/models/search/search_dictionary_entries_params.rb +0 -22
  133. data/lib/algolia/models/search/search_for_facets.rb +0 -22
  134. data/lib/algolia/models/search/search_for_hits.rb +0 -22
  135. data/lib/algolia/models/search/search_method_params.rb +0 -22
  136. data/lib/algolia/models/search/search_params.rb +5 -2
  137. data/lib/algolia/models/search/search_params_object.rb +0 -22
  138. data/lib/algolia/models/search/search_query.rb +5 -2
  139. data/lib/algolia/models/search/search_result.rb +5 -2
  140. data/lib/algolia/models/search/search_rules_params.rb +0 -22
  141. data/lib/algolia/models/search/search_synonyms_params.rb +0 -22
  142. data/lib/algolia/models/search/settings_response.rb +0 -22
  143. data/lib/algolia/models/search/snippet_result.rb +5 -2
  144. data/lib/algolia/models/search/snippet_result_option.rb +0 -22
  145. data/lib/algolia/models/search/synonym_hit.rb +0 -22
  146. data/lib/algolia/models/search/tag_filters.rb +5 -2
  147. data/lib/algolia/models/search/typo_tolerance.rb +5 -2
  148. data/lib/algolia/models/search/value.rb +0 -22
  149. data/lib/algolia/models/usage/statistic_value.rb +5 -2
  150. data/lib/algolia/version.rb +1 -1
  151. metadata +4 -2
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -10,28 +10,6 @@ module Algolia
10
10
 
11
11
  attr_accessor :body
12
12
 
13
- class EnumAttributeValidator
14
- attr_reader :datatype
15
- attr_reader :allowable_values
16
-
17
- def initialize(datatype, allowable_values)
18
- @allowable_values = allowable_values.map do |value|
19
- case datatype.to_s
20
- when /Integer/i
21
- value.to_i
22
- when /Float/i
23
- value.to_f
24
- else
25
- value
26
- end
27
- end
28
- end
29
-
30
- def valid?(value)
31
- !value || allowable_values.include?(value)
32
- end
33
- end
34
-
35
13
  # Attribute mapping from ruby-style variable name to JSON key.
36
14
  def self.attribute_map
37
15
  {
@@ -11,28 +11,6 @@ module Algolia
11
11
  # Operation arguments (varies with specified `action`).
12
12
  attr_accessor :body
13
13
 
14
- class EnumAttributeValidator
15
- attr_reader :datatype
16
- attr_reader :allowable_values
17
-
18
- def initialize(datatype, allowable_values)
19
- @allowable_values = allowable_values.map do |value|
20
- case datatype.to_s
21
- when /Integer/i
22
- value.to_i
23
- when /Float/i
24
- value.to_f
25
- else
26
- value
27
- end
28
- end
29
- end
30
-
31
- def valid?(value)
32
- !value || allowable_values.include?(value)
33
- end
34
- end
35
-
36
14
  # Attribute mapping from ruby-style variable name to JSON key.
37
15
  def self.attribute_map
38
16
  {
@@ -0,0 +1,32 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Search
8
+ class BooleanString
9
+ TRUE = "true".freeze
10
+ FALSE = "false".freeze
11
+
12
+ def self.all_vars
13
+ @all_vars ||= [TRUE, FALSE].freeze
14
+ end
15
+
16
+ # Builds the enum from string
17
+ # @param [String] The enum value in the form of the string
18
+ # @return [String] The enum value
19
+ def self.build_from_hash(value)
20
+ new.build_from_hash(value)
21
+ end
22
+
23
+ # Builds the enum from string
24
+ # @param [String] The enum value in the form of the string
25
+ # @return [String] The enum value
26
+ def build_from_hash(value)
27
+ return value if BooleanString.all_vars.include?(value)
28
+ raise "Invalid ENUM value #{value} for class #BooleanString"
29
+ end
30
+ end
31
+ end
32
+ end
@@ -80,13 +80,16 @@ module Algolia
80
80
  else
81
81
  const = Algolia::Search.const_get(klass)
82
82
  if const
83
- # nested oneOf model
84
83
  if const.respond_to?(:openapi_one_of)
84
+ # nested oneOf model
85
85
  model = const.build(data)
86
- else
86
+ elsif const.respond_to?(:acceptable_attributes)
87
87
  # raise if data contains keys that are not known to the model
88
88
  raise unless (data.keys - const.acceptable_attributes).empty?
89
89
  model = const.build_from_hash(data)
90
+ else
91
+ # maybe it's an enum
92
+ model = const.build_from_hash(data)
90
93
  end
91
94
 
92
95
  return model if model
@@ -220,28 +220,6 @@ module Algolia
220
220
  # Cursor to get the next page of the response. The parameter must match the value returned in the response of a previous request. The last page of the response does not return a `cursor` attribute.
221
221
  attr_accessor :cursor
222
222
 
223
- class EnumAttributeValidator
224
- attr_reader :datatype
225
- attr_reader :allowable_values
226
-
227
- def initialize(datatype, allowable_values)
228
- @allowable_values = allowable_values.map do |value|
229
- case datatype.to_s
230
- when /Integer/i
231
- value.to_i
232
- when /Float/i
233
- value.to_f
234
- else
235
- value
236
- end
237
- end
238
- end
239
-
240
- def valid?(value)
241
- !value || allowable_values.include?(value)
242
- end
243
- end
244
-
245
223
  # Attribute mapping from ruby-style variable name to JSON key.
246
224
  def self.attribute_map
247
225
  {
@@ -11,28 +11,6 @@ module Algolia
11
11
 
12
12
  attr_accessor :value
13
13
 
14
- class EnumAttributeValidator
15
- attr_reader :datatype
16
- attr_reader :allowable_values
17
-
18
- def initialize(datatype, allowable_values)
19
- @allowable_values = allowable_values.map do |value|
20
- case datatype.to_s
21
- when /Integer/i
22
- value.to_i
23
- when /Float/i
24
- value.to_f
25
- else
26
- value
27
- end
28
- end
29
- end
30
-
31
- def valid?(value)
32
- !value || allowable_values.include?(value)
33
- end
34
- end
35
-
36
14
  # Attribute mapping from ruby-style variable name to JSON key.
37
15
  def self.attribute_map
38
16
  {
@@ -80,13 +80,16 @@ module Algolia
80
80
  else
81
81
  const = Algolia::Search.const_get(klass)
82
82
  if const
83
- # nested oneOf model
84
83
  if const.respond_to?(:openapi_one_of)
84
+ # nested oneOf model
85
85
  model = const.build(data)
86
- else
86
+ elsif const.respond_to?(:acceptable_attributes)
87
87
  # raise if data contains keys that are not known to the model
88
88
  raise unless (data.keys - const.acceptable_attributes).empty?
89
89
  model = const.build_from_hash(data)
90
+ else
91
+ # maybe it's an enum
92
+ model = const.build_from_hash(data)
90
93
  end
91
94
 
92
95
  return model if model
@@ -20,28 +20,6 @@ module Algolia
20
20
  # Filters that trigger the rule. You can add add filters using the syntax `facet:value` so that the rule is triggered, when the specific filter is selected. You can use `filters` on its own or combine it with the `pattern` parameter.
21
21
  attr_accessor :filters
22
22
 
23
- class EnumAttributeValidator
24
- attr_reader :datatype
25
- attr_reader :allowable_values
26
-
27
- def initialize(datatype, allowable_values)
28
- @allowable_values = allowable_values.map do |value|
29
- case datatype.to_s
30
- when /Integer/i
31
- value.to_i
32
- when /Float/i
33
- value.to_f
34
- else
35
- value
36
- end
37
- end
38
- end
39
-
40
- def valid?(value)
41
- !value || allowable_values.include?(value)
42
- end
43
- end
44
-
45
23
  # Attribute mapping from ruby-style variable name to JSON key.
46
24
  def self.attribute_map
47
25
  {
@@ -220,28 +220,6 @@ module Algolia
220
220
 
221
221
  attr_accessor :automatic_optional_facet_filters
222
222
 
223
- class EnumAttributeValidator
224
- attr_reader :datatype
225
- attr_reader :allowable_values
226
-
227
- def initialize(datatype, allowable_values)
228
- @allowable_values = allowable_values.map do |value|
229
- case datatype.to_s
230
- when /Integer/i
231
- value.to_i
232
- when /Float/i
233
- value.to_f
234
- else
235
- value
236
- end
237
- end
238
- end
239
-
240
- def valid?(value)
241
- !value || allowable_values.include?(value)
242
- end
243
- end
244
-
245
223
  # Attribute mapping from ruby-style variable name to JSON key.
246
224
  def self.attribute_map
247
225
  {
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -27,28 +27,6 @@ module Algolia
27
27
 
28
28
  attr_accessor :additional_properties
29
29
 
30
- class EnumAttributeValidator
31
- attr_reader :datatype
32
- attr_reader :allowable_values
33
-
34
- def initialize(datatype, allowable_values)
35
- @allowable_values = allowable_values.map do |value|
36
- case datatype.to_s
37
- when /Integer/i
38
- value.to_i
39
- when /Float/i
40
- value.to_f
41
- else
42
- value
43
- end
44
- end
45
- end
46
-
47
- def valid?(value)
48
- !value || allowable_values.include?(value)
49
- end
50
- end
51
-
52
30
  # Attribute mapping from ruby-style variable name to JSON key.
53
31
  def self.attribute_map
54
32
  {
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -14,28 +14,6 @@ module Algolia
14
14
  # Text to be added in place of the deleted text inside the query string.
15
15
  attr_accessor :insert
16
16
 
17
- class EnumAttributeValidator
18
- attr_reader :datatype
19
- attr_reader :allowable_values
20
-
21
- def initialize(datatype, allowable_values)
22
- @allowable_values = allowable_values.map do |value|
23
- case datatype.to_s
24
- when /Integer/i
25
- value.to_i
26
- when /Float/i
27
- value.to_f
28
- else
29
- value
30
- end
31
- end
32
- end
33
-
34
- def valid?(value)
35
- !value || allowable_values.include?(value)
36
- end
37
- end
38
-
39
17
  # Attribute mapping from ruby-style variable name to JSON key.
40
18
  def self.attribute_map
41
19
  {
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -8,28 +8,6 @@ module Algolia
8
8
  class GetTaskResponse
9
9
  attr_accessor :status
10
10
 
11
- class EnumAttributeValidator
12
- attr_reader :datatype
13
- attr_reader :allowable_values
14
-
15
- def initialize(datatype, allowable_values)
16
- @allowable_values = allowable_values.map do |value|
17
- case datatype.to_s
18
- when /Integer/i
19
- value.to_i
20
- when /Float/i
21
- value.to_f
22
- else
23
- value
24
- end
25
- end
26
- end
27
-
28
- def valid?(value)
29
- !value || allowable_values.include?(value)
30
- end
31
- end
32
-
33
11
  # Attribute mapping from ruby-style variable name to JSON key.
34
12
  def self.attribute_map
35
13
  {
@@ -82,13 +82,16 @@ module Algolia
82
82
  else
83
83
  const = Algolia::Search.const_get(klass)
84
84
  if const
85
- # nested oneOf model
86
85
  if const.respond_to?(:openapi_one_of)
86
+ # nested oneOf model
87
87
  model = const.build(data)
88
- else
88
+ elsif const.respond_to?(:acceptable_attributes)
89
89
  # raise if data contains keys that are not known to the model
90
90
  raise unless (data.keys - const.acceptable_attributes).empty?
91
91
  model = const.build_from_hash(data)
92
+ else
93
+ # maybe it's an enum
94
+ model = const.build_from_hash(data)
92
95
  end
93
96
 
94
97
  return model if model
@@ -18,28 +18,6 @@ module Algolia
18
18
  # Whether the entire attribute value is highlighted.
19
19
  attr_accessor :fully_highlighted
20
20
 
21
- class EnumAttributeValidator
22
- attr_reader :datatype
23
- attr_reader :allowable_values
24
-
25
- def initialize(datatype, allowable_values)
26
- @allowable_values = allowable_values.map do |value|
27
- case datatype.to_s
28
- when /Integer/i
29
- value.to_i
30
- when /Float/i
31
- value.to_f
32
- else
33
- value
34
- end
35
- end
36
- end
37
-
38
- def valid?(value)
39
- !value || allowable_values.include?(value)
40
- end
41
- end
42
-
43
21
  # Attribute mapping from ruby-style variable name to JSON key.
44
22
  def self.attribute_map
45
23
  {
@@ -12,7 +12,8 @@ module Algolia
12
12
  def openapi_one_of
13
13
  [
14
14
  :"Array<SupportedLanguage>",
15
- :"Boolean"
15
+ :"Boolean",
16
+ :"BooleanString"
16
17
  ]
17
18
  end
18
19
 
@@ -81,13 +82,16 @@ module Algolia
81
82
  else
82
83
  const = Algolia::Search.const_get(klass)
83
84
  if const
84
- # nested oneOf model
85
85
  if const.respond_to?(:openapi_one_of)
86
+ # nested oneOf model
86
87
  model = const.build(data)
87
- else
88
+ elsif const.respond_to?(:acceptable_attributes)
88
89
  # raise if data contains keys that are not known to the model
89
90
  raise unless (data.keys - const.acceptable_attributes).empty?
90
91
  model = const.build_from_hash(data)
92
+ else
93
+ # maybe it's an enum
94
+ model = const.build_from_hash(data)
91
95
  end
92
96
 
93
97
  return model if model
@@ -179,28 +179,6 @@ module Algolia
179
179
 
180
180
  attr_accessor :re_ranking_apply_filter
181
181
 
182
- class EnumAttributeValidator
183
- attr_reader :datatype
184
- attr_reader :allowable_values
185
-
186
- def initialize(datatype, allowable_values)
187
- @allowable_values = allowable_values.map do |value|
188
- case datatype.to_s
189
- when /Integer/i
190
- value.to_i
191
- when /Float/i
192
- value.to_f
193
- else
194
- value
195
- end
196
- end
197
- end
198
-
199
- def valid?(value)
200
- !value || allowable_values.include?(value)
201
- end
202
- end
203
-
204
182
  # Attribute mapping from ruby-style variable name to JSON key.
205
183
  def self.attribute_map
206
184
  {
@@ -14,28 +14,6 @@ module Algolia
14
14
  # Index name (case-sensitive).
15
15
  attr_accessor :index_name
16
16
 
17
- class EnumAttributeValidator
18
- attr_reader :datatype
19
- attr_reader :allowable_values
20
-
21
- def initialize(datatype, allowable_values)
22
- @allowable_values = allowable_values.map do |value|
23
- case datatype.to_s
24
- when /Integer/i
25
- value.to_i
26
- when /Float/i
27
- value.to_f
28
- else
29
- value
30
- end
31
- end
32
- end
33
-
34
- def valid?(value)
35
- !value || allowable_values.include?(value)
36
- end
37
- end
38
-
39
17
  # Attribute mapping from ruby-style variable name to JSON key.
40
18
  def self.attribute_map
41
19
  {
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -14,28 +14,6 @@ module Algolia
14
14
  # **Only for copying.** If you specify a scope, only the selected scopes are copied. Records and the other scopes are left unchanged. If you omit the `scope` parameter, everything is copied: records, settings, synonyms, and rules.
15
15
  attr_accessor :scope
16
16
 
17
- class EnumAttributeValidator
18
- attr_reader :datatype
19
- attr_reader :allowable_values
20
-
21
- def initialize(datatype, allowable_values)
22
- @allowable_values = allowable_values.map do |value|
23
- case datatype.to_s
24
- when /Integer/i
25
- value.to_i
26
- when /Float/i
27
- value.to_f
28
- else
29
- value
30
- end
31
- end
32
- end
33
-
34
- def valid?(value)
35
- !value || allowable_values.include?(value)
36
- end
37
- end
38
-
39
17
  # Attribute mapping from ruby-style variable name to JSON key.
40
18
  def self.attribute_map
41
19
  {
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model
@@ -80,13 +80,16 @@ module Algolia
80
80
  else
81
81
  const = Algolia::Search.const_get(klass)
82
82
  if const
83
- # nested oneOf model
84
83
  if const.respond_to?(:openapi_one_of)
84
+ # nested oneOf model
85
85
  model = const.build(data)
86
- else
86
+ elsif const.respond_to?(:acceptable_attributes)
87
87
  # raise if data contains keys that are not known to the model
88
88
  raise unless (data.keys - const.acceptable_attributes).empty?
89
89
  model = const.build_from_hash(data)
90
+ else
91
+ # maybe it's an enum
92
+ model = const.build_from_hash(data)
90
93
  end
91
94
 
92
95
  return model if model
@@ -81,13 +81,16 @@ module Algolia
81
81
  else
82
82
  const = Algolia::Search.const_get(klass)
83
83
  if const
84
- # nested oneOf model
85
84
  if const.respond_to?(:openapi_one_of)
85
+ # nested oneOf model
86
86
  model = const.build(data)
87
- else
87
+ elsif const.respond_to?(:acceptable_attributes)
88
88
  # raise if data contains keys that are not known to the model
89
89
  raise unless (data.keys - const.acceptable_attributes).empty?
90
90
  model = const.build_from_hash(data)
91
+ else
92
+ # maybe it's an enum
93
+ model = const.build_from_hash(data)
91
94
  end
92
95
 
93
96
  return model if model