lib/hubspot/codegen/crm/owners/models/error_detail.rb in hubspot-api-client-15.0.2 vs lib/hubspot/codegen/crm/owners/models/error_detail.rb in hubspot-api-client-16.0.0

- old
+ new

@@ -4,15 +4,16 @@ #HubSpot uses **owners** to assign CRM objects to specific people in your organization. The endpoints described here are used to get a list of the owners that are available for an account. To assign an owner to an object, set the hubspot_owner_id property using the appropriate CRM object update or create a request. If teams are available for your HubSpot tier, these endpoints will also indicate which team(s) an owner can access, as well as which team is the owner's primary team. The version of the OpenAPI document: v3 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 4.3.1 +OpenAPI Generator version: 6.2.1 =end require 'date' +require 'time' module Hubspot module Crm module Owners class ErrorDetail @@ -40,10 +41,15 @@ :'sub_category' => :'subCategory', :'context' => :'context' } end + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + # Attribute type mapping. def self.openapi_types { :'message' => :'String', :'_in' => :'String', @@ -149,20 +155,23 @@ # Builds the object from hash # @param [Hash] attributes Model attributes in the form of hash # @return [Object] Returns the model itself def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) self.class.openapi_types.each_pair do |key, type| - if type =~ /\AArray<(.*)>/i + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", 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[self.class.attribute_map[key]].is_a?(Array) self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) end elsif !attributes[self.class.attribute_map[key]].nil? self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) - end # or else data not found in attributes(hash), not an issue as the data can be optional + end end self end @@ -170,12 +179,12 @@ # @param string type Data type # @param string value Value to be deserialized # @return [Object] Deserialized data def _deserialize(type, value) case type.to_sym - when :DateTime - DateTime.parse(value) + when :Time + Time.parse(value) when :Date Date.parse(value) when :String value.to_s when :Integer @@ -201,11 +210,13 @@ value.each do |k, v| hash[_deserialize(k_type, k)] = _deserialize(v_type, v) end end else # model - Hubspot::Crm::Owners.const_get(type).build_from_hash(value) + # models (e.g. Pet) or oneOf + klass = Hubspot::Crm::Owners.const_get(type) + 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 @@ -227,11 +238,11 @@ value = self.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 @@ -250,9 +261,11 @@ value.to_hash else value end end + end + end end end