Module: Algolia::Recommend::Distinct
- Defined in:
- lib/algolia/models/recommend/distinct.rb
Overview
Determines how many records of a group are included in the search results. Records with the same value for the attributeForDistinct attribute are considered a group. The distinct setting controls how many members of the group are returned. This is useful for deduplication and grouping. The distinct setting is ignored if attributeForDistinct is not set.
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/algolia/models/recommend/distinct.rb', line 24 def build(data) # Go through the list of oneOf items and attempt to identify the appropriate one. # Note: # - We do not attempt to check whether exactly one item matches. # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) # due to the way the deserialization is made in the base_object template (it just casts without verifying). # - TODO: scalar values are de facto behaving as if they were nullable. # - TODO: logging when debugging is set. openapi_one_of.each do |klass| begin # "nullable: true" next if klass == :AnyType typed_data = find_and_cast_into_type(klass, data) return typed_data if typed_data # rescue all errors so we keep iterating even if the current item lookup raises rescue end end openapi_one_of.include?(:AnyType) ? data : nil end |
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3)
14 15 16 17 18 19 |
# File 'lib/algolia/models/recommend/distinct.rb', line 14 def openapi_one_of [ :"Boolean", :"Integer" ] end |