From b585fd6670bd257e82580592dcfbb67fa498191c Mon Sep 17 00:00:00 2001 From: algolia-bot Date: Thu, 10 Oct 2024 10:48:08 +0000 Subject: [PATCH] fix(specs): correct type for banners [skip-bc] (generated) https://github.com/algolia/api-clients-automation/pull/3939 Co-authored-by: algolia-bot --- lib/algolia/models/recommend/banner_image.rb | 6 +- lib/algolia/models/recommend/banners.rb | 209 ------------------- lib/algolia/models/recommend/widgets.rb | 7 +- lib/algolia/models/search/banner_image.rb | 6 +- lib/algolia/models/search/banners.rb | 209 ------------------- lib/algolia/models/search/widgets.rb | 7 +- 6 files changed, 18 insertions(+), 426 deletions(-) delete mode 100644 lib/algolia/models/recommend/banners.rb delete mode 100644 lib/algolia/models/search/banners.rb diff --git a/lib/algolia/models/recommend/banner_image.rb b/lib/algolia/models/recommend/banner_image.rb index 06dc97b5..d33289e2 100644 --- a/lib/algolia/models/recommend/banner_image.rb +++ b/lib/algolia/models/recommend/banner_image.rb @@ -27,7 +27,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.types_mapping { - :urls => :"BannerImageUrl", + :urls => :"Array", :title => :"String" } end @@ -63,7 +63,9 @@ def initialize(attributes = {}) } if attributes.key?(:urls) - self.urls = attributes[:urls] + if (value = attributes[:urls]).is_a?(Array) + self.urls = value + end end if attributes.key?(:title) diff --git a/lib/algolia/models/recommend/banners.rb b/lib/algolia/models/recommend/banners.rb deleted file mode 100644 index 31c1dde0..00000000 --- a/lib/algolia/models/recommend/banners.rb +++ /dev/null @@ -1,209 +0,0 @@ -# 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. - -require "date" -require "time" - -module Algolia - module Recommend - # banners defined in the merchandising studio for the given search. - class Banners - attr_accessor :banners - - # Attribute mapping from ruby-style variable name to JSON key. - def self.attribute_map - { - :banners => :banners - } - end - - # Returns all the JSON keys this model knows about - def self.acceptable_attributes - attribute_map.values - end - - # Attribute type mapping. - def self.types_mapping - { - :banners => :"Banner" - } - end - - # List of attributes with nullable: true - def self.openapi_nullable - Set.new( - [] - ) - end - - # Initializes the object - # @param [Hash] attributes Model attributes in the form of hash - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Banners` initialize method" - end - - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - raise( - ArgumentError, - "`#{k}` is not a valid attribute in `Algolia::Banners`. 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 - } - - if attributes.key?(:banners) - self.banners = attributes[:banners] - end - end - - # Checks equality by comparing each attribute. - # @param [Object] Object to be compared - def ==(other) - return true if self.equal?(other) - self.class == other.class && - banners == other.banners - end - - # @see the `==` method - # @param [Object] Object to be compared - def eql?(other) - self == other - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - def hash - [banners].hash - end - - # Builds the object from hash - # @param [Hash] attributes Model attributes in the form of hash - # @return [Object] Returns the model itself - 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 - - # Deserializes the data based on type - # @param string type Data type - # @param string value Value to be deserialized - # @return [Object] Deserialized data - 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<(?.+)>\z/ - inner_type = Regexp.last_match[:inner_type] - value.map { |v| _deserialize(inner_type, v) } - when /\AHash<(?.+?), (?.+)>\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 - # model - else - # models (e.g. Pet) or oneOf - klass = Algolia::Recommend.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 - - # Returns the string representation of the object - # @return [String] String presentation of the object - def to_s - to_hash.to_s - end - - # to_body is an alias to to_hash (backward compatibility) - # @return [Hash] Returns the object in the form of hash - def to_body - to_hash - end - - def to_json(*_args) - to_hash.to_json - end - - # Returns the object in the form of hash - # @return [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 - - # Outputs non-array value in the form of hash - # For object, use to_hash. Otherwise, just return the value - # @param [Object] value Any valid value - # @return [Hash] Returns the value in the form of hash - 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 - - end - - end -end diff --git a/lib/algolia/models/recommend/widgets.rb b/lib/algolia/models/recommend/widgets.rb index 6ef17a4d..196aa074 100644 --- a/lib/algolia/models/recommend/widgets.rb +++ b/lib/algolia/models/recommend/widgets.rb @@ -7,6 +7,7 @@ module Algolia module Recommend # widgets returned from any rules that are applied to the current search. class Widgets + # banners defined in the merchandising studio for the given search. attr_accessor :banners # Attribute mapping from ruby-style variable name to JSON key. @@ -24,7 +25,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.types_mapping { - :banners => :"Banners" + :banners => :"Array" } end @@ -56,7 +57,9 @@ def initialize(attributes = {}) } if attributes.key?(:banners) - self.banners = attributes[:banners] + if (value = attributes[:banners]).is_a?(Array) + self.banners = value + end end end diff --git a/lib/algolia/models/search/banner_image.rb b/lib/algolia/models/search/banner_image.rb index 2353ea76..e27ea947 100644 --- a/lib/algolia/models/search/banner_image.rb +++ b/lib/algolia/models/search/banner_image.rb @@ -27,7 +27,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.types_mapping { - :urls => :"BannerImageUrl", + :urls => :"Array", :title => :"String" } end @@ -63,7 +63,9 @@ def initialize(attributes = {}) } if attributes.key?(:urls) - self.urls = attributes[:urls] + if (value = attributes[:urls]).is_a?(Array) + self.urls = value + end end if attributes.key?(:title) diff --git a/lib/algolia/models/search/banners.rb b/lib/algolia/models/search/banners.rb deleted file mode 100644 index e7836b46..00000000 --- a/lib/algolia/models/search/banners.rb +++ /dev/null @@ -1,209 +0,0 @@ -# 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. - -require "date" -require "time" - -module Algolia - module Search - # banners defined in the merchandising studio for the given search. - class Banners - attr_accessor :banners - - # Attribute mapping from ruby-style variable name to JSON key. - def self.attribute_map - { - :banners => :banners - } - end - - # Returns all the JSON keys this model knows about - def self.acceptable_attributes - attribute_map.values - end - - # Attribute type mapping. - def self.types_mapping - { - :banners => :"Banner" - } - end - - # List of attributes with nullable: true - def self.openapi_nullable - Set.new( - [] - ) - end - - # Initializes the object - # @param [Hash] attributes Model attributes in the form of hash - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Banners` initialize method" - end - - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - raise( - ArgumentError, - "`#{k}` is not a valid attribute in `Algolia::Banners`. 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 - } - - if attributes.key?(:banners) - self.banners = attributes[:banners] - end - end - - # Checks equality by comparing each attribute. - # @param [Object] Object to be compared - def ==(other) - return true if self.equal?(other) - self.class == other.class && - banners == other.banners - end - - # @see the `==` method - # @param [Object] Object to be compared - def eql?(other) - self == other - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - def hash - [banners].hash - end - - # Builds the object from hash - # @param [Hash] attributes Model attributes in the form of hash - # @return [Object] Returns the model itself - 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 - - # Deserializes the data based on type - # @param string type Data type - # @param string value Value to be deserialized - # @return [Object] Deserialized data - 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<(?.+)>\z/ - inner_type = Regexp.last_match[:inner_type] - value.map { |v| _deserialize(inner_type, v) } - when /\AHash<(?.+?), (?.+)>\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 - # model - else - # 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 - - # Returns the string representation of the object - # @return [String] String presentation of the object - def to_s - to_hash.to_s - end - - # to_body is an alias to to_hash (backward compatibility) - # @return [Hash] Returns the object in the form of hash - def to_body - to_hash - end - - def to_json(*_args) - to_hash.to_json - end - - # Returns the object in the form of hash - # @return [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 - - # Outputs non-array value in the form of hash - # For object, use to_hash. Otherwise, just return the value - # @param [Object] value Any valid value - # @return [Hash] Returns the value in the form of hash - 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 - - end - - end -end diff --git a/lib/algolia/models/search/widgets.rb b/lib/algolia/models/search/widgets.rb index 6a9124ce..3ea4e104 100644 --- a/lib/algolia/models/search/widgets.rb +++ b/lib/algolia/models/search/widgets.rb @@ -7,6 +7,7 @@ module Algolia module Search # widgets returned from any rules that are applied to the current search. class Widgets + # banners defined in the merchandising studio for the given search. attr_accessor :banners # Attribute mapping from ruby-style variable name to JSON key. @@ -24,7 +25,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.types_mapping { - :banners => :"Banners" + :banners => :"Array" } end @@ -56,7 +57,9 @@ def initialize(attributes = {}) } if attributes.key?(:banners) - self.banners = attributes[:banners] + if (value = attributes[:banners]).is_a?(Array) + self.banners = value + end end end