lib/svix/models/template_patch.rb in svix-1.38.0 vs lib/svix/models/template_patch.rb in svix-1.39.0
- old
+ new
@@ -4,11 +4,11 @@
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
The version of the OpenAPI document: 1.1.1
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.2.0
+Generator version: 7.9.0
=end
require 'date'
require 'time'
@@ -31,10 +31,32 @@
attr_accessor :name
attr_accessor :transformation
+ class EnumAttributeValidator
+ attr_reader :datatype
+ attr_reader :allowable_values
+
+ def initialize(datatype, allowable_values)
+ @allowable_values = allowable_values.map do |value|
+ case datatype.to_s
+ when /Integer/i
+ value.to_i
+ when /Float/i
+ value.to_f
+ else
+ value
+ end
+ end
+ end
+
+ def valid?(value)
+ !value || allowable_values.include?(value)
+ end
+ end
+
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'description' => :'description',
:'feature_flag' => :'featureFlag',
@@ -132,10 +154,11 @@
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
invalid_properties = Array.new
if !@feature_flag.nil? && @feature_flag.to_s.length > 256
invalid_properties.push('invalid value for "feature_flag", the character length must be smaller than or equal to 256.')
end
@@ -160,10 +183,11 @@
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
+ warn '[DEPRECATED] the `valid?` method is obsolete'
return false if !@feature_flag.nil? && @feature_flag.to_s.length > 256
return false if !@feature_flag.nil? && @feature_flag !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
return false if !@filter_types.nil? && @filter_types.length < 1
return false if !@transformation.nil? && @transformation.to_s.length > 51200
return false if !@transformation.nil? && @transformation.to_s.length < 10
@@ -196,15 +220,19 @@
end
# Custom attribute writer method with validation
# @param [Object] transformation Value to be assigned
def transformation=(transformation)
- if !transformation.nil? && transformation.to_s.length > 51200
+ if transformation.nil?
+ fail ArgumentError, 'transformation cannot be nil'
+ end
+
+ if transformation.to_s.length > 51200
fail ArgumentError, 'invalid value for "transformation", the character length must be smaller than or equal to 51200.'
end
- if !transformation.nil? && transformation.to_s.length < 10
+ if transformation.to_s.length < 10
fail ArgumentError, 'invalid value for "transformation", the character length must be great than or equal to 10.'
end
@transformation = transformation
end
@@ -239,40 +267,34 @@
# 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)
- new.build_from_hash(attributes)
- end
-
- # 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)
- self.class.openapi_types.each_pair do |key, type|
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
- self.send("#{key}=", nil)
+ attributes = attributes.transform_keys(&:to_sym)
+ transformed_hash = {}
+ openapi_types.each_pair do |key, type|
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
+ transformed_hash["#{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) })
+ if attributes[attribute_map[key]].is_a?(Array)
+ transformed_hash["#{key}"] = attributes[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]]))
+ elsif !attributes[attribute_map[key]].nil?
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
end
end
-
- self
+ 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 _deserialize(type, value)
+ def self._deserialize(type, value)
case type.to_sym
when :Time
Time.parse(value)
when :Date
Date.parse(value)
@@ -303,10 +325,10 @@
end
end
else # model
# models (e.g. Pet) or oneOf
klass = Svix.const_get(type)
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
+ 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