lib/docspring/models/template_data.rb in docspring-1.4.1 vs lib/docspring/models/template_data.rb in docspring-2.0.0
- old
+ new
@@ -1,53 +1,60 @@
=begin
#API v1
#DocSpring is a service that helps you fill out and sign PDF templates.
-OpenAPI spec version: v1
+The version of the OpenAPI document: v1
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 3.3.0
+Generator version: 7.11.0
=end
require 'date'
+require 'time'
module DocSpring
class TemplateData
- attr_accessor :expiration_interval
+ attr_accessor :add_data_request_submission_id_footers
- attr_accessor :webhook_url
+ attr_accessor :allow_additional_properties
- attr_accessor :scss
+ attr_accessor :description
- attr_accessor :allow_additional_properties
+ attr_accessor :editable_submissions
+ attr_accessor :expiration_interval
+
attr_accessor :expire_after
- attr_accessor :description
+ attr_accessor :expire_submissions
- attr_accessor :public_submissions
+ attr_accessor :footer_html
- attr_accessor :slack_webhook_url
-
attr_accessor :header_html
- attr_accessor :public_web_form
+ attr_accessor :html
- attr_accessor :editable_submissions
+ attr_accessor :merge_audit_trail_pdf
- attr_accessor :expire_submissions
-
attr_accessor :name
- attr_accessor :footer_html
+ attr_accessor :public_submissions
- attr_accessor :html
+ attr_accessor :public_web_form
attr_accessor :redirect_url
+ attr_accessor :scss
+
+ attr_accessor :slack_webhook_url
+
+ attr_accessor :webhook_options
+
+ attr_accessor :webhook_url
+
class EnumAttributeValidator
attr_reader :datatype
attr_reader :allowable_values
def initialize(datatype, allowable_values)
@@ -69,221 +76,275 @@
end
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
- :'expiration_interval' => :'expiration_interval',
- :'webhook_url' => :'webhook_url',
- :'scss' => :'scss',
+ :'add_data_request_submission_id_footers' => :'add_data_request_submission_id_footers',
:'allow_additional_properties' => :'allow_additional_properties',
- :'expire_after' => :'expire_after',
:'description' => :'description',
- :'public_submissions' => :'public_submissions',
- :'slack_webhook_url' => :'slack_webhook_url',
- :'header_html' => :'header_html',
- :'public_web_form' => :'public_web_form',
:'editable_submissions' => :'editable_submissions',
+ :'expiration_interval' => :'expiration_interval',
+ :'expire_after' => :'expire_after',
:'expire_submissions' => :'expire_submissions',
- :'name' => :'name',
:'footer_html' => :'footer_html',
+ :'header_html' => :'header_html',
:'html' => :'html',
- :'redirect_url' => :'redirect_url'
+ :'merge_audit_trail_pdf' => :'merge_audit_trail_pdf',
+ :'name' => :'name',
+ :'public_submissions' => :'public_submissions',
+ :'public_web_form' => :'public_web_form',
+ :'redirect_url' => :'redirect_url',
+ :'scss' => :'scss',
+ :'slack_webhook_url' => :'slack_webhook_url',
+ :'webhook_options' => :'webhook_options',
+ :'webhook_url' => :'webhook_url'
}
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
{
+ :'add_data_request_submission_id_footers' => :'Boolean',
+ :'allow_additional_properties' => :'Boolean',
+ :'description' => :'String',
+ :'editable_submissions' => :'Boolean',
:'expiration_interval' => :'String',
- :'webhook_url' => :'String',
- :'scss' => :'String',
- :'allow_additional_properties' => :'BOOLEAN',
:'expire_after' => :'Float',
- :'description' => :'String',
- :'public_submissions' => :'BOOLEAN',
- :'slack_webhook_url' => :'String',
- :'header_html' => :'String',
- :'public_web_form' => :'BOOLEAN',
- :'editable_submissions' => :'BOOLEAN',
- :'expire_submissions' => :'BOOLEAN',
- :'name' => :'String',
+ :'expire_submissions' => :'Boolean',
:'footer_html' => :'String',
+ :'header_html' => :'String',
:'html' => :'String',
- :'redirect_url' => :'String'
+ :'merge_audit_trail_pdf' => :'Boolean',
+ :'name' => :'String',
+ :'public_submissions' => :'Boolean',
+ :'public_web_form' => :'Boolean',
+ :'redirect_url' => :'String',
+ :'scss' => :'String',
+ :'slack_webhook_url' => :'String',
+ :'webhook_options' => :'HtmlTemplateDataWebhookOptions',
+ :'webhook_url' => :'String'
}
end
+ # List of attributes with nullable: true
+ def self.openapi_nullable
+ Set.new([
+ :'description',
+ :'footer_html',
+ :'header_html',
+ :'html',
+ :'name',
+ :'redirect_url',
+ :'scss',
+ :'slack_webhook_url',
+ :'webhook_options',
+ :'webhook_url'
+ ])
+ end
+
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
- return unless attributes.is_a?(Hash)
+ if (!attributes.is_a?(Hash))
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::TemplateData` initialize method"
+ end
- # convert string to symbol for hash key
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
+ # 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))
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::TemplateData`. 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.has_key?(:'expiration_interval')
- self.expiration_interval = attributes[:'expiration_interval']
+ if attributes.key?(:'add_data_request_submission_id_footers')
+ self.add_data_request_submission_id_footers = attributes[:'add_data_request_submission_id_footers']
end
- if attributes.has_key?(:'webhook_url')
- self.webhook_url = attributes[:'webhook_url']
+ if attributes.key?(:'allow_additional_properties')
+ self.allow_additional_properties = attributes[:'allow_additional_properties']
end
- if attributes.has_key?(:'scss')
- self.scss = attributes[:'scss']
+ if attributes.key?(:'description')
+ self.description = attributes[:'description']
end
- if attributes.has_key?(:'allow_additional_properties')
- self.allow_additional_properties = attributes[:'allow_additional_properties']
+ if attributes.key?(:'editable_submissions')
+ self.editable_submissions = attributes[:'editable_submissions']
end
- if attributes.has_key?(:'expire_after')
- self.expire_after = attributes[:'expire_after']
+ if attributes.key?(:'expiration_interval')
+ self.expiration_interval = attributes[:'expiration_interval']
end
- if attributes.has_key?(:'description')
- self.description = attributes[:'description']
+ if attributes.key?(:'expire_after')
+ self.expire_after = attributes[:'expire_after']
end
- if attributes.has_key?(:'public_submissions')
- self.public_submissions = attributes[:'public_submissions']
+ if attributes.key?(:'expire_submissions')
+ self.expire_submissions = attributes[:'expire_submissions']
end
- if attributes.has_key?(:'slack_webhook_url')
- self.slack_webhook_url = attributes[:'slack_webhook_url']
+ if attributes.key?(:'footer_html')
+ self.footer_html = attributes[:'footer_html']
end
- if attributes.has_key?(:'header_html')
+ if attributes.key?(:'header_html')
self.header_html = attributes[:'header_html']
end
- if attributes.has_key?(:'public_web_form')
- self.public_web_form = attributes[:'public_web_form']
+ if attributes.key?(:'html')
+ self.html = attributes[:'html']
end
- if attributes.has_key?(:'editable_submissions')
- self.editable_submissions = attributes[:'editable_submissions']
+ if attributes.key?(:'merge_audit_trail_pdf')
+ self.merge_audit_trail_pdf = attributes[:'merge_audit_trail_pdf']
end
- if attributes.has_key?(:'expire_submissions')
- self.expire_submissions = attributes[:'expire_submissions']
- end
-
- if attributes.has_key?(:'name')
+ if attributes.key?(:'name')
self.name = attributes[:'name']
end
- if attributes.has_key?(:'footer_html')
- self.footer_html = attributes[:'footer_html']
+ if attributes.key?(:'public_submissions')
+ self.public_submissions = attributes[:'public_submissions']
end
- if attributes.has_key?(:'html')
- self.html = attributes[:'html']
+ if attributes.key?(:'public_web_form')
+ self.public_web_form = attributes[:'public_web_form']
end
- if attributes.has_key?(:'redirect_url')
+ if attributes.key?(:'redirect_url')
self.redirect_url = attributes[:'redirect_url']
end
+
+ if attributes.key?(:'scss')
+ self.scss = attributes[:'scss']
+ end
+
+ if attributes.key?(:'slack_webhook_url')
+ self.slack_webhook_url = attributes[:'slack_webhook_url']
+ end
+
+ if attributes.key?(:'webhook_options')
+ self.webhook_options = attributes[:'webhook_options']
+ end
+
+ if attributes.key?(:'webhook_url')
+ self.webhook_url = attributes[:'webhook_url']
+ end
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
invalid_properties
end
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
- expiration_interval_validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
+ warn '[DEPRECATED] the `valid?` method is obsolete'
+ expiration_interval_validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
return false unless expiration_interval_validator.valid?(@expiration_interval)
true
end
# Custom attribute writer method checking allowed values (enum).
# @param [Object] expiration_interval Object to be assigned
def expiration_interval=(expiration_interval)
- validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
+ validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
unless validator.valid?(expiration_interval)
- fail ArgumentError, 'invalid value for "expiration_interval", must be one of #{validator.allowable_values}.'
+ fail ArgumentError, "invalid value for \"expiration_interval\", must be one of #{validator.allowable_values}."
end
@expiration_interval = expiration_interval
end
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
- expiration_interval == o.expiration_interval &&
- webhook_url == o.webhook_url &&
- scss == o.scss &&
+ add_data_request_submission_id_footers == o.add_data_request_submission_id_footers &&
allow_additional_properties == o.allow_additional_properties &&
- expire_after == o.expire_after &&
description == o.description &&
- public_submissions == o.public_submissions &&
- slack_webhook_url == o.slack_webhook_url &&
- header_html == o.header_html &&
- public_web_form == o.public_web_form &&
editable_submissions == o.editable_submissions &&
+ expiration_interval == o.expiration_interval &&
+ expire_after == o.expire_after &&
expire_submissions == o.expire_submissions &&
- name == o.name &&
footer_html == o.footer_html &&
+ header_html == o.header_html &&
html == o.html &&
- redirect_url == o.redirect_url
+ merge_audit_trail_pdf == o.merge_audit_trail_pdf &&
+ name == o.name &&
+ public_submissions == o.public_submissions &&
+ public_web_form == o.public_web_form &&
+ redirect_url == o.redirect_url &&
+ scss == o.scss &&
+ slack_webhook_url == o.slack_webhook_url &&
+ webhook_options == o.webhook_options &&
+ webhook_url == o.webhook_url
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
self == o
end
# Calculates hash code according to all attributes.
- # @return [Fixnum] Hash code
+ # @return [Integer] Hash code
def hash
- [expiration_interval, webhook_url, scss, allow_additional_properties, expire_after, description, public_submissions, slack_webhook_url, header_html, public_web_form, editable_submissions, expire_submissions, name, footer_html, html, redirect_url].hash
+ [add_data_request_submission_id_footers, allow_additional_properties, description, editable_submissions, expiration_interval, expire_after, expire_submissions, footer_html, header_html, html, merge_audit_trail_pdf, name, public_submissions, public_web_form, redirect_url, scss, slack_webhook_url, webhook_options, webhook_url].hash
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)
+ def self.build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
- self.class.openapi_types.each_pair do |key, type|
- if type =~ /\AArray<(.*)>/i
- # check to ensure the input is an array given that the the attribute
+ 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]]))
- end # or else data not found in attributes(hash), not an issue as the data can be optional
+ 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 :DateTime
- DateTime.parse(value)
+ 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
+ when :Boolean
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
true
else
false
end
@@ -300,12 +361,13 @@
value.each do |k, v|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
end
end
else # model
- temp_model = DocSpring.const_get(type).new
- temp_model.build_from_hash(value)
+ # models (e.g. Pet) or oneOf
+ klass = DocSpring.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
@@ -323,11 +385,15 @@
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
- next if value.nil?
+ 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
@@ -346,7 +412,9 @@
value.to_hash
else
value
end
end
+
end
+
end