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
@@ -10,28 +10,6 @@ module Algolia
10
10
 
11
11
  attr_accessor :records
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
  {
@@ -39,28 +39,6 @@ module Algolia
39
39
  # Date of finish in RFC 3339 format.
40
40
  attr_accessor :finished_at
41
41
 
42
- class EnumAttributeValidator
43
- attr_reader :datatype
44
- attr_reader :allowable_values
45
-
46
- def initialize(datatype, allowable_values)
47
- @allowable_values = allowable_values.map do |value|
48
- case datatype.to_s
49
- when /Integer/i
50
- value.to_i
51
- when /Float/i
52
- value.to_f
53
- else
54
- value
55
- end
56
- end
57
- end
58
-
59
- def valid?(value)
60
- !value || allowable_values.include?(value)
61
- end
62
- end
63
-
64
42
  # Attribute mapping from ruby-style variable name to JSON key.
65
43
  def self.attribute_map
66
44
  {
@@ -17,28 +17,6 @@ module Algolia
17
17
 
18
18
  attr_accessor :entity_type
19
19
 
20
- class EnumAttributeValidator
21
- attr_reader :datatype
22
- attr_reader :allowable_values
23
-
24
- def initialize(datatype, allowable_values)
25
- @allowable_values = allowable_values.map do |value|
26
- case datatype.to_s
27
- when /Integer/i
28
- value.to_i
29
- when /Float/i
30
- value.to_f
31
- else
32
- value
33
- end
34
- end
35
- end
36
-
37
- def valid?(value)
38
- !value || allowable_values.include?(value)
39
- end
40
- end
41
-
42
20
  # Attribute mapping from ruby-style variable name to JSON key.
43
21
  def self.attribute_map
44
22
  {
@@ -18,28 +18,6 @@ module Algolia
18
18
  # The next scheduled run of the task in RFC 3339 format.
19
19
  attr_accessor :next_run
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,28 +12,6 @@ module Algolia
12
12
  # Cron expression for the task's schedule.
13
13
  attr_accessor :cron
14
14
 
15
- class EnumAttributeValidator
16
- attr_reader :datatype
17
- attr_reader :allowable_values
18
-
19
- def initialize(datatype, allowable_values)
20
- @allowable_values = allowable_values.map do |value|
21
- case datatype.to_s
22
- when /Integer/i
23
- value.to_i
24
- when /Float/i
25
- value.to_f
26
- else
27
- value
28
- end
29
- end
30
- end
31
-
32
- def valid?(value)
33
- !value || allowable_values.include?(value)
34
- end
35
- end
36
-
37
15
  # Attribute mapping from ruby-style variable name to JSON key.
38
16
  def self.attribute_map
39
17
  {
@@ -24,28 +24,6 @@ module Algolia
24
24
  # Date of last update in RFC 3339 format.
25
25
  attr_accessor :updated_at
26
26
 
27
- class EnumAttributeValidator
28
- attr_reader :datatype
29
- attr_reader :allowable_values
30
-
31
- def initialize(datatype, allowable_values)
32
- @allowable_values = allowable_values.map do |value|
33
- case datatype.to_s
34
- when /Integer/i
35
- value.to_i
36
- when /Float/i
37
- value.to_f
38
- else
39
- value
40
- end
41
- end
42
- end
43
-
44
- def valid?(value)
45
- !value || allowable_values.include?(value)
46
- end
47
- end
48
-
49
27
  # Attribute mapping from ruby-style variable name to JSON key.
50
28
  def self.attribute_map
51
29
  {
@@ -26,28 +26,6 @@ module Algolia
26
26
  # Name of a column that contains a unique ID which will be used as `objectID` in Algolia.
27
27
  attr_accessor :unique_id_column
28
28
 
29
- class EnumAttributeValidator
30
- attr_reader :datatype
31
- attr_reader :allowable_values
32
-
33
- def initialize(datatype, allowable_values)
34
- @allowable_values = allowable_values.map do |value|
35
- case datatype.to_s
36
- when /Integer/i
37
- value.to_i
38
- when /Float/i
39
- value.to_f
40
- else
41
- value
42
- end
43
- end
44
- end
45
-
46
- def valid?(value)
47
- !value || allowable_values.include?(value)
48
- end
49
- end
50
-
51
29
  # Attribute mapping from ruby-style variable name to JSON key.
52
30
  def self.attribute_map
53
31
  {
@@ -16,28 +16,6 @@ module Algolia
16
16
  # Universally unique identifier (UUID) of an authentication resource.
17
17
  attr_accessor :authentication_id
18
18
 
19
- class EnumAttributeValidator
20
- attr_reader :datatype
21
- attr_reader :allowable_values
22
-
23
- def initialize(datatype, allowable_values)
24
- @allowable_values = allowable_values.map do |value|
25
- case datatype.to_s
26
- when /Integer/i
27
- value.to_i
28
- when /Float/i
29
- value.to_f
30
- else
31
- value
32
- end
33
- end
34
- end
35
-
36
- def valid?(value)
37
- !value || allowable_values.include?(value)
38
- end
39
- end
40
-
41
19
  # Attribute mapping from ruby-style variable name to JSON key.
42
20
  def self.attribute_map
43
21
  {
@@ -20,28 +20,6 @@ module Algolia
20
20
  # The character used to split the value on each line, default to a comma (\\r, \\n, 0xFFFD, and space are forbidden).
21
21
  attr_accessor :delimiter
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
  {
@@ -19,28 +19,6 @@ module Algolia
19
19
  # Configuration of the spec.
20
20
  attr_accessor :configuration
21
21
 
22
- class EnumAttributeValidator
23
- attr_reader :datatype
24
- attr_reader :allowable_values
25
-
26
- def initialize(datatype, allowable_values)
27
- @allowable_values = allowable_values.map do |value|
28
- case datatype.to_s
29
- when /Integer/i
30
- value.to_i
31
- when /Float/i
32
- value.to_f
33
- else
34
- value
35
- end
36
- end
37
- end
38
-
39
- def valid?(value)
40
- !value || allowable_values.include?(value)
41
- end
42
- end
43
-
44
22
  # Attribute mapping from ruby-style variable name to JSON key.
45
23
  def self.attribute_map
46
24
  {
@@ -86,13 +86,16 @@ module Algolia
86
86
  else
87
87
  const = Algolia::Ingestion.const_get(klass)
88
88
  if const
89
- # nested oneOf model
90
89
  if const.respond_to?(:openapi_one_of)
90
+ # nested oneOf model
91
91
  model = const.build(data)
92
- else
92
+ elsif const.respond_to?(:acceptable_attributes)
93
93
  # raise if data contains keys that are not known to the model
94
94
  raise unless (data.keys - const.acceptable_attributes).empty?
95
95
  model = const.build_from_hash(data)
96
+ else
97
+ # maybe it's an enum
98
+ model = const.build_from_hash(data)
96
99
  end
97
100
 
98
101
  return model if model
@@ -14,28 +14,6 @@ module Algolia
14
14
 
15
15
  attr_accessor :method
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
  {
@@ -17,28 +17,6 @@ module Algolia
17
17
  # Configuration of the spec.
18
18
  attr_accessor :configuration
19
19
 
20
- class EnumAttributeValidator
21
- attr_reader :datatype
22
- attr_reader :allowable_values
23
-
24
- def initialize(datatype, allowable_values)
25
- @allowable_values = allowable_values.map do |value|
26
- case datatype.to_s
27
- when /Integer/i
28
- value.to_i
29
- when /Float/i
30
- value.to_f
31
- else
32
- value
33
- end
34
- end
35
- end
36
-
37
- def valid?(value)
38
- !value || allowable_values.include?(value)
39
- end
40
- end
41
-
42
20
  # Attribute mapping from ruby-style variable name to JSON key.
43
21
  def self.attribute_map
44
22
  {
@@ -85,13 +85,16 @@ module Algolia
85
85
  else
86
86
  const = Algolia::Ingestion.const_get(klass)
87
87
  if const
88
- # nested oneOf model
89
88
  if const.respond_to?(:openapi_one_of)
89
+ # nested oneOf model
90
90
  model = const.build(data)
91
- else
91
+ elsif const.respond_to?(:acceptable_attributes)
92
92
  # raise if data contains keys that are not known to the model
93
93
  raise unless (data.keys - const.acceptable_attributes).empty?
94
94
  model = const.build_from_hash(data)
95
+ else
96
+ # maybe it's an enum
97
+ model = const.build_from_hash(data)
95
98
  end
96
99
 
97
100
  return model if model
@@ -9,28 +9,6 @@ module Algolia
9
9
  class StreamingTrigger
10
10
  attr_accessor :type
11
11
 
12
- class EnumAttributeValidator
13
- attr_reader :datatype
14
- attr_reader :allowable_values
15
-
16
- def initialize(datatype, allowable_values)
17
- @allowable_values = allowable_values.map do |value|
18
- case datatype.to_s
19
- when /Integer/i
20
- value.to_i
21
- when /Float/i
22
- value.to_f
23
- else
24
- value
25
- end
26
- end
27
- end
28
-
29
- def valid?(value)
30
- !value || allowable_values.include?(value)
31
- end
32
- end
33
-
34
12
  # Attribute mapping from ruby-style variable name to JSON key.
35
13
  def self.attribute_map
36
14
  {
@@ -9,28 +9,6 @@ module Algolia
9
9
  class SubscriptionTrigger
10
10
  attr_accessor :type
11
11
 
12
- class EnumAttributeValidator
13
- attr_reader :datatype
14
- attr_reader :allowable_values
15
-
16
- def initialize(datatype, allowable_values)
17
- @allowable_values = allowable_values.map do |value|
18
- case datatype.to_s
19
- when /Integer/i
20
- value.to_i
21
- when /Float/i
22
- value.to_f
23
- else
24
- value
25
- end
26
- end
27
- end
28
-
29
- def valid?(value)
30
- !value || allowable_values.include?(value)
31
- end
32
- end
33
-
34
12
  # Attribute mapping from ruby-style variable name to JSON key.
35
13
  def self.attribute_map
36
14
  {
@@ -43,28 +43,6 @@ module Algolia
43
43
  # Date of last update in RFC 3339 format.
44
44
  attr_accessor :updated_at
45
45
 
46
- class EnumAttributeValidator
47
- attr_reader :datatype
48
- attr_reader :allowable_values
49
-
50
- def initialize(datatype, allowable_values)
51
- @allowable_values = allowable_values.map do |value|
52
- case datatype.to_s
53
- when /Integer/i
54
- value.to_i
55
- when /Float/i
56
- value.to_f
57
- else
58
- value
59
- end
60
- end
61
- end
62
-
63
- def valid?(value)
64
- !value || allowable_values.include?(value)
65
- end
66
- end
67
-
68
46
  # Attribute mapping from ruby-style variable name to JSON key.
69
47
  def self.attribute_map
70
48
  {
@@ -29,28 +29,6 @@ module Algolia
29
29
  # Date of the last cursor in RFC 3339 format.
30
30
  attr_accessor :cursor
31
31
 
32
- class EnumAttributeValidator
33
- attr_reader :datatype
34
- attr_reader :allowable_values
35
-
36
- def initialize(datatype, allowable_values)
37
- @allowable_values = allowable_values.map do |value|
38
- case datatype.to_s
39
- when /Integer/i
40
- value.to_i
41
- when /Float/i
42
- value.to_f
43
- else
44
- value
45
- end
46
- end
47
- end
48
-
49
- def valid?(value)
50
- !value || allowable_values.include?(value)
51
- end
52
- end
53
-
54
32
  # Attribute mapping from ruby-style variable name to JSON key.
55
33
  def self.attribute_map
56
34
  {
@@ -82,13 +82,16 @@ module Algolia
82
82
  else
83
83
  const = Algolia::Ingestion.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
@@ -28,28 +28,6 @@ module Algolia
28
28
  # Date of the last cursor in RFC 3339 format.
29
29
  attr_accessor :cursor
30
30
 
31
- class EnumAttributeValidator
32
- attr_reader :datatype
33
- attr_reader :allowable_values
34
-
35
- def initialize(datatype, allowable_values)
36
- @allowable_values = allowable_values.map do |value|
37
- case datatype.to_s
38
- when /Integer/i
39
- value.to_i
40
- when /Float/i
41
- value.to_f
42
- else
43
- value
44
- end
45
- end
46
- end
47
-
48
- def valid?(value)
49
- !value || allowable_values.include?(value)
50
- end
51
- end
52
-
53
31
  # Attribute mapping from ruby-style variable name to JSON key.
54
32
  def self.attribute_map
55
33
  {
@@ -82,13 +82,16 @@ module Algolia
82
82
  else
83
83
  const = Algolia::Ingestion.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
@@ -37,28 +37,6 @@ module Algolia
37
37
  # Date of last update in RFC 3339 format.
38
38
  attr_accessor :updated_at
39
39
 
40
- class EnumAttributeValidator
41
- attr_reader :datatype
42
- attr_reader :allowable_values
43
-
44
- def initialize(datatype, allowable_values)
45
- @allowable_values = allowable_values.map do |value|
46
- case datatype.to_s
47
- when /Integer/i
48
- value.to_i
49
- when /Float/i
50
- value.to_f
51
- else
52
- value
53
- end
54
- end
55
- end
56
-
57
- def valid?(value)
58
- !value || allowable_values.include?(value)
59
- end
60
- end
61
-
62
40
  # Attribute mapping from ruby-style variable name to JSON key.
63
41
  def self.attribute_map
64
42
  {
@@ -83,13 +83,16 @@ module Algolia
83
83
  else
84
84
  const = Algolia::Ingestion.const_get(klass)
85
85
  if const
86
- # nested oneOf model
87
86
  if const.respond_to?(:openapi_one_of)
87
+ # nested oneOf model
88
88
  model = const.build(data)
89
- else
89
+ elsif const.respond_to?(:acceptable_attributes)
90
90
  # raise if data contains keys that are not known to the model
91
91
  raise unless (data.keys - const.acceptable_attributes).empty?
92
92
  model = const.build_from_hash(data)
93
+ else
94
+ # maybe it's an enum
95
+ model = const.build_from_hash(data)
93
96
  end
94
97
 
95
98
  return model if model
@@ -37,28 +37,6 @@ module Algolia
37
37
 
38
38
  attr_accessor :value
39
39
 
40
- class EnumAttributeValidator
41
- attr_reader :datatype
42
- attr_reader :allowable_values
43
-
44
- def initialize(datatype, allowable_values)
45
- @allowable_values = allowable_values.map do |value|
46
- case datatype.to_s
47
- when /Integer/i
48
- value.to_i
49
- when /Float/i
50
- value.to_f
51
- else
52
- value
53
- end
54
- end
55
- end
56
-
57
- def valid?(value)
58
- !value || allowable_values.include?(value)
59
- end
60
- end
61
-
62
40
  # Attribute mapping from ruby-style variable name to JSON key.
63
41
  def self.attribute_map
64
42
  {