class Algolia::Search::RenderingContent

Extra data that can be used in the search UI. You can use this to control aspects of your search UI, such as, the order of facet names and values without changing your frontend code.

def self._deserialize(type, value)

Returns:
  • (Object) - Deserialized data

Parameters:
  • string () -- value Value to be deserialized
  • string () -- type Data type
def self._deserialize(type, value)
  case type.to_sym
  when :Time
    Time.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :Boolean
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    # models (e.g. Pet) or oneOf
    klass = Algolia::Search.const_get(type)
    klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
  end
end

def self.acceptable_attributes

Returns all the JSON keys this model knows about
def self.acceptable_attributes
  attribute_map.values
end

def self.attribute_map

Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
  {
    :facet_ordering => :facetOrdering
  }
end

def self.build_from_hash(attributes)

Returns:
  • (Object) - Returns the model itself

Parameters:
  • attributes (Hash) -- Model attributes in the form of hash
def self.build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  attributes = attributes.transform_keys(&:to_sym)
  transformed_hash = {}
  types_mapping.each_pair do |key, type|
    if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
      transformed_hash[key.to_sym] = nil
    elsif type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the attribute
      # is documented as an array but the input is not
      if attributes[attribute_map[key]].is_a?(Array)
        transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
      end
    elsif !attributes[attribute_map[key]].nil?
      transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
    end
  end
  new(transformed_hash)
end

def self.openapi_nullable

List of attributes with nullable: true
def self.openapi_nullable
  Set.new([])
end

def self.types_mapping

Attribute type mapping.
def self.types_mapping
  {
    :facet_ordering => :FacetOrdering
  }
end

def ==(other)

Parameters:
  • Object (Object) -- to be compared
def ==(other)
  return true if equal?(other)
  self.class == other.class &&
    facet_ordering == other.facet_ordering
end

def _to_hash(value)

Returns:
  • (Hash) - Returns the value in the form of hash

Parameters:
  • value (Object) -- Any valid value
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map { |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end

def eql?(other)

Parameters:
  • Object (Object) -- to be compared

Other tags:
    See: the - `==` method
def eql?(other)
  self == other
end

def hash

Returns:
  • (Integer) - Hash code
def hash
  [facet_ordering].hash
end

def initialize(attributes = {})

Parameters:
  • attributes (Hash) -- Model attributes in the form of hash
def initialize(attributes = {})
  unless attributes.is_a?(Hash)
    raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::RenderingContent` initialize method"
  end
  # check to see if the attribute exists and convert string to symbol for hash key
  attributes = attributes.each_with_object({}) do |(k, v), h|
    unless self.class.attribute_map.key?(k.to_sym)
      raise ArgumentError,
            "`#{k}` is not a valid attribute in `Algolia::RenderingContent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
    end
    h[k.to_sym] = v
  end
  if attributes.key?(:facet_ordering)
    self.facet_ordering = attributes[:facet_ordering]
  end
end

def to_body

Returns:
  • (Hash) - Returns the object in the form of hash
def to_body
  to_hash
end

def to_hash

Returns:
  • (Hash) - Returns the object in the form of hash
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = send(attr)
    if value.nil?
      is_nullable = self.class.openapi_nullable.include?(attr)
      next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
    end
    hash[param] = _to_hash(value)
  end
  hash
end

def to_json(*_args)

def to_json(*_args)
  to_hash.to_json
end

def to_s

Returns:
  • (String) - String presentation of the object
def to_s
  to_hash.to_s
end