diff --git a/samples/client/petstore/crystal/pom.xml b/samples/client/petstore/crystal/pom.xml
index 29b7e4bc351..2cdbf1e1739 100644
--- a/samples/client/petstore/crystal/pom.xml
+++ b/samples/client/petstore/crystal/pom.xml
@@ -37,6 +37,7 @@
install
--ignore-crystal-version
+ --without-development
diff --git a/samples/client/petstore/crystal/shard.lock b/samples/client/petstore/crystal/shard.lock
index 6a33ec4f671..b2ac3af1d03 100644
--- a/samples/client/petstore/crystal/shard.lock
+++ b/samples/client/petstore/crystal/shard.lock
@@ -1,16 +1,8 @@
version: 2.0
shards:
- ameba:
- git: https://github.com/crystal-ameba/ameba.git
- version: 0.14.3
-
crest:
git: https://github.com/mamantoha/crest.git
- version: 0.26.8
-
- exception_page:
- git: https://github.com/crystal-loot/exception_page.git
- version: 0.1.5
+ version: 1.3.13
http-client-digest_auth:
git: https://github.com/mamantoha/http-client-digest_auth.git
@@ -18,17 +10,5 @@ shards:
http_proxy:
git: https://github.com/mamantoha/http_proxy.git
- version: 0.8.0
-
- kemal:
- git: https://github.com/kemalcr/kemal.git
- version: 0.27.0
-
- kilt:
- git: https://github.com/jeromegn/kilt.git
- version: 0.4.1
-
- radix:
- git: https://github.com/luislavena/radix.git
- version: 0.3.9
+ version: 0.10.3
diff --git a/samples/client/petstore/crystal/spec/models/pet_spec.cr b/samples/client/petstore/crystal/spec/models/pet_spec.cr
index 16117449db5..dac484057c9 100644
--- a/samples/client/petstore/crystal/spec/models/pet_spec.cr
+++ b/samples/client/petstore/crystal/spec/models/pet_spec.cr
@@ -19,7 +19,7 @@ describe Petstore::Pet do
describe "test an instance of Pet" do
it "should fail to compile if any required properties is missing" do
- assert_compilation_error(path: "./pet_compilation_error_spec.cr", message: "Error: no overload matches 'Petstore::Pet.new', id: Nil, category: Nil, name: Nil, photo_urls: Array(String), tags: Nil, status: Nil")
+ assert_compilation_error(path: "./pet_compilation_error_spec.cr", message: "Error: expected argument 'name' to 'Petstore::Pet.new' to be String, not Nil")
end
it "should create an instance of Pet with only required properties" do
diff --git a/samples/client/petstore/crystal/spec/models/property_name_mapping_spec.cr b/samples/client/petstore/crystal/spec/models/property_name_mapping_spec.cr
deleted file mode 100644
index 2c3f56c6368..00000000000
--- a/samples/client/petstore/crystal/spec/models/property_name_mapping_spec.cr
+++ /dev/null
@@ -1,50 +0,0 @@
-# #OpenAPI Petstore
-#
-##This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-#
-#The version of the OpenAPI document: 1.0.0
-#
-#Generated by: https://openapi-generator.tech
-#OpenAPI Generator version: 7.0.0-SNAPSHOT
-#
-
-require "../spec_helper"
-require "json"
-require "time"
-
-# Unit tests for Petstore::PropertyNameMapping
-# Automatically generated by openapi-generator (https://openapi-generator.tech)
-# Please update as you see appropriate
-describe Petstore::PropertyNameMapping do
-
- describe "test an instance of PropertyNameMapping" do
- it "should create an instance of PropertyNameMapping" do
- #instance = Petstore::PropertyNameMapping.new
- #expect(instance).to be_instance_of(Petstore::PropertyNameMapping)
- end
- end
- describe "test attribute 'http_debug_operation'" do
- it "should work" do
- # assertion here. ref: https://crystal-lang.org/reference/guides/testing.html
- end
- end
-
- describe "test attribute '_type'" do
- it "should work" do
- # assertion here. ref: https://crystal-lang.org/reference/guides/testing.html
- end
- end
-
- describe "test attribute '_type'" do
- it "should work" do
- # assertion here. ref: https://crystal-lang.org/reference/guides/testing.html
- end
- end
-
- describe "test attribute 'type_'" do
- it "should work" do
- # assertion here. ref: https://crystal-lang.org/reference/guides/testing.html
- end
- end
-
-end
diff --git a/samples/client/petstore/crystal/src/petstore/models/property_name_mapping.cr b/samples/client/petstore/crystal/src/petstore/models/property_name_mapping.cr
deleted file mode 100644
index e9d0661b1c5..00000000000
--- a/samples/client/petstore/crystal/src/petstore/models/property_name_mapping.cr
+++ /dev/null
@@ -1,193 +0,0 @@
-# #OpenAPI Petstore
-#
-##This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-#
-#The version of the OpenAPI document: 1.0.0
-#
-#Generated by: https://openapi-generator.tech
-#OpenAPI Generator version: 7.0.0-SNAPSHOT
-#
-
-require "big"
-require "json"
-require "time"
-
-module Petstore
- class PropertyNameMapping
- include JSON::Serializable
-
- # Optional properties
- @[JSON::Field(key: "http_debug_operation", type: String?, nillable: true, emit_null: false)]
- property http_debug_operation : String?
-
- @[JSON::Field(key: "_type", type: String?, nillable: true, emit_null: false)]
- property _type : String?
-
- @[JSON::Field(key: "type", type: String?, nillable: true, emit_null: false)]
- property _type : String?
-
- @[JSON::Field(key: "type_", type: String?, nillable: true, emit_null: false)]
- property type_ : String?
-
- # Initializes the object
- # @param [Hash] attributes Model attributes in the form of hash
- def initialize(@http_debug_operation : String?, @_type : String?, @_type : String?, @type_ : String?)
- end
-
- # Show invalid properties with the reasons. Usually used together with valid?
- # @return Array for valid properties with the reasons
- def list_invalid_properties
- invalid_properties = Array(String).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?
- true
- end
-
- # Checks equality by comparing each attribute.
- # @param [Object] Object to be compared
- def ==(o)
- return true if self.same?(o)
- self.class == o.class &&
- http_debug_operation == o.http_debug_operation &&
- _type == o._type &&
- _type == o._type &&
- type_ == o.type_
- end
-
- # @see the `==` method
- # @param [Object] Object to be compared
- def eql?(o)
- self == o
- end
-
- # Calculates hash code according to all attributes.
- # @return [Integer] Hash code
- def hash
- [http_debug_operation, _type, _type, type_].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)
- 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]]? && self.class.openapi_nullable.includes?(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
- end
-
- self
- 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)
- 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]
- ({} of Symbol => String).tap do |hash|
- value.each do |k, v|
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
- end
- end
- else # model
- # models (e.g. Pet) or oneOf
- klass = Petstore.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
- 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
-
- # Returns the object in the form of hash
- # @return [Hash] Returns the object in the form of hash
- def to_hash
- hash = {} of Symbol => String
- self.class.attribute_map.each_pair do |attr, param|
- value = self.send(attr)
- if value.nil?
- is_nullable = self.class.openapi_nullable.includes?(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)
- ({} of Symbol => String).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