lib/patch_ruby/models/allocation.rb in patch_ruby-1.9.0 vs lib/patch_ruby/models/allocation.rb in patch_ruby-1.10.0
- old
+ new
@@ -4,15 +4,16 @@
#The core API used to integrate with Patch's service
The version of the OpenAPI document: v1
Contact: developers@usepatch.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 4.3.1
+OpenAPI Generator version: 5.2.1
=end
require 'date'
+require 'time'
module Patch
class Allocation
# A unique uid for the record. UIDs will be prepended by all_prod or all_test depending on the mode it was created in.
attr_accessor :id
@@ -30,26 +31,31 @@
:'production' => :'production',
:'mass_g' => :'mass_g'
}
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
{
:'id' => :'String',
:'production' => :'Boolean',
:'mass_g' => :'Integer'
}
end
- # Set with nullable attributes.
+ # List of attributes with nullable: true
def self.openapi_nullable
- nullable_properties = Set.new
-
- nullable_properties
+ Set.new([
+ ])
end
+
# Allows models with corresponding API classes to delegate API operations to those API classes
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
# Eg. Order.create_order delegates to OrdersApi.new.create_order
def self.method_missing(message, *args, &block)
if Object.const_defined?('Patch::AllocationsApi::OPERATIONS') && Patch::AllocationsApi::OPERATIONS.include?(message)
@@ -148,19 +154,21 @@
# @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)
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
@@ -168,12 +176,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
@@ -199,11 +207,13 @@
value.each do |k, v|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
end
end
else # model
- Patch.const_get(type).build_from_hash(value)
+ # models (e.g. Pet) or oneOf
+ klass = Patch.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
@@ -225,10 +235,10 @@
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