diff --git a/samples/client/petstore/ruby/lib/swagger_client.rb b/samples/client/petstore/ruby/lib/swagger_client.rb
index 33922da4c73..6d239185005 100644
--- a/samples/client/petstore/ruby/lib/swagger_client.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client.rb
@@ -7,6 +7,7 @@ require 'swagger_client/swagger/response'
require 'swagger_client/swagger/version'
# Models
+require 'swagger_client/models/base_object'
require 'swagger_client/models/user'
require 'swagger_client/models/category'
require 'swagger_client/models/pet'
@@ -21,4 +22,4 @@ require 'swagger_client/api/store_api'
module SwaggerClient
# Initialize the default configuration
Swagger.configuration ||= Swagger::Configuration.new
-end
\ No newline at end of file
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/api/pet_api.rb b/samples/client/petstore/ruby/lib/swagger_client/api/pet_api.rb
index 25a1a8f8bf4..6f2740b22e9 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/api/pet_api.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/api/pet_api.rb
@@ -11,7 +11,7 @@ module SwaggerClient
# @option opts [Pet] :body Pet object that needs to be added to the store
# @return void
def self.update_pet(opts = {})
- # verify existence of params
+
# resource path
path = "/pet".sub('{format}','json')
@@ -22,40 +22,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = ['application/json', 'application/xml', ]
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:PUT, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:PUT, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Add a new pet to the store
#
@@ -63,7 +46,7 @@ module SwaggerClient
# @option opts [Pet] :body Pet object that needs to be added to the store
# @return void
def self.add_pet(opts = {})
- # verify existence of params
+
# resource path
path = "/pet".sub('{format}','json')
@@ -74,40 +57,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = ['application/json', 'application/xml', ]
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Finds Pets by status
# Multiple status values can be provided with comma seperated strings
@@ -115,7 +81,7 @@ module SwaggerClient
# @option opts [array[string]] :status Status values that need to be considered for filter
# @return array[Pet]
def self.find_pets_by_status(opts = {})
- # verify existence of params
+
# resource path
path = "/pet/findByStatus".sub('{format}','json')
@@ -127,21 +93,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- response.map {|response| Pet.new(response) }
- end
+ response.map {|response| obj = Pet.new() and obj.build_from_hash(response) }
+ end
# Finds Pets by tags
# Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
@@ -149,7 +118,7 @@ module SwaggerClient
# @option opts [array[string]] :tags Tags to filter by
# @return array[Pet]
def self.find_pets_by_tags(opts = {})
- # verify existence of params
+
# resource path
path = "/pet/findByTags".sub('{format}','json')
@@ -161,21 +130,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- response.map {|response| Pet.new(response) }
- end
+ response.map {|response| obj = Pet.new() and obj.build_from_hash(response) }
+ end
# Find pet by ID
# Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
@@ -183,8 +155,10 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return Pet
def self.get_pet_by_id(pet_id, opts = {})
- # verify existence of params
- raise "pet_id is required" if pet_id.nil?
+
+ # verify the required parameter 'pet_id' is set
+ raise "Missing the required parameter 'pet_id' when calling get_pet_by_id" if pet_id.nil?
+
# resource path
path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s)
@@ -195,21 +169,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- Pet.new(response)
- end
+ obj = Pet.new() and obj.build_from_hash(response)
+ end
# Updates a pet in the store with form data
#
@@ -219,8 +196,10 @@ module SwaggerClient
# @option opts [string] :status Updated status of the pet
# @return void
def self.update_pet_with_form(pet_id, opts = {})
- # verify existence of params
- raise "pet_id is required" if pet_id.nil?
+
+ # verify the required parameter 'pet_id' is set
+ raise "Missing the required parameter 'pet_id' when calling update_pet_with_form" if pet_id.nil?
+
# resource path
path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s)
@@ -231,11 +210,13 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = ['application/x-www-form-urlencoded', ]
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
@@ -244,9 +225,10 @@ module SwaggerClient
# http body (model)
post_body = nil
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Deletes a pet
#
@@ -255,8 +237,10 @@ module SwaggerClient
# @option opts [string] :api_key
# @return void
def self.delete_pet(pet_id, opts = {})
- # verify existence of params
- raise "pet_id is required" if pet_id.nil?
+
+ # verify the required parameter 'pet_id' is set
+ raise "Missing the required parameter 'pet_id' when calling delete_pet" if pet_id.nil?
+
# resource path
path = "/pet/{petId}".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s)
@@ -267,11 +251,13 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
header_params[:'api_key'] = opts[:'api_key'] if opts[:'api_key']
# form parameters
@@ -279,9 +265,10 @@ module SwaggerClient
# http body (model)
post_body = nil
+
- Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# uploads an image
#
@@ -291,8 +278,10 @@ module SwaggerClient
# @option opts [file] :file file to upload
# @return void
def self.upload_file(pet_id, opts = {})
- # verify existence of params
- raise "pet_id is required" if pet_id.nil?
+
+ # verify the required parameter 'pet_id' is set
+ raise "Missing the required parameter 'pet_id' when calling upload_file" if pet_id.nil?
+
# resource path
path = "/pet/{petId}/uploadImage".sub('{format}','json').sub('{' + 'petId' + '}', pet_id.to_s)
@@ -303,11 +292,13 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = ['multipart/form-data', ]
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
@@ -316,8 +307,9 @@ module SwaggerClient
# http body (model)
post_body = nil
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
-end
\ No newline at end of file
+ end
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/api/store_api.rb b/samples/client/petstore/ruby/lib/swagger_client/api/store_api.rb
index 40a0d63c7ab..37595c2147e 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/api/store_api.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/api/store_api.rb
@@ -10,7 +10,7 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return map[string,int]
def self.get_inventory(opts = {})
- # verify existence of params
+
# resource path
path = "/store/inventory".sub('{format}','json')
@@ -21,21 +21,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- response.map {|response| map.new(response) }
- end
+ response.map {|response| obj = map.new() and obj.build_from_hash(response) }
+ end
# Place an order for a pet
#
@@ -43,7 +46,7 @@ module SwaggerClient
# @option opts [Order] :body order placed for purchasing the pet
# @return Order
def self.place_order(opts = {})
- # verify existence of params
+
# resource path
path = "/store/order".sub('{format}','json')
@@ -54,41 +57,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
response = Swagger::Request.new(:POST, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- Order.new(response)
- end
+ obj = Order.new() and obj.build_from_hash(response)
+ end
# Find purchase order by ID
# For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
@@ -96,8 +82,10 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return Order
def self.get_order_by_id(order_id, opts = {})
- # verify existence of params
- raise "order_id is required" if order_id.nil?
+
+ # verify the required parameter 'order_id' is set
+ raise "Missing the required parameter 'order_id' when calling get_order_by_id" if order_id.nil?
+
# resource path
path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', order_id.to_s)
@@ -108,21 +96,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- Order.new(response)
- end
+ obj = Order.new() and obj.build_from_hash(response)
+ end
# Delete purchase order by ID
# For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
@@ -130,8 +121,10 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return void
def self.delete_order(order_id, opts = {})
- # verify existence of params
- raise "order_id is required" if order_id.nil?
+
+ # verify the required parameter 'order_id' is set
+ raise "Missing the required parameter 'order_id' when calling delete_order" if order_id.nil?
+
# resource path
path = "/store/order/{orderId}".sub('{format}','json').sub('{' + 'orderId' + '}', order_id.to_s)
@@ -142,19 +135,22 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
- Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
-end
\ No newline at end of file
+ end
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/api/user_api.rb b/samples/client/petstore/ruby/lib/swagger_client/api/user_api.rb
index 0df9d287199..12a45561e3f 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/api/user_api.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/api/user_api.rb
@@ -11,7 +11,7 @@ module SwaggerClient
# @option opts [User] :body Created user object
# @return void
def self.create_user(opts = {})
- # verify existence of params
+
# resource path
path = "/user".sub('{format}','json')
@@ -22,40 +22,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Creates list of users with given input array
#
@@ -63,7 +46,7 @@ module SwaggerClient
# @option opts [array[User]] :body List of user object
# @return void
def self.create_users_with_array_input(opts = {})
- # verify existence of params
+
# resource path
path = "/user/createWithArray".sub('{format}','json')
@@ -74,40 +57,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Creates list of users with given input array
#
@@ -115,7 +81,7 @@ module SwaggerClient
# @option opts [array[User]] :body List of user object
# @return void
def self.create_users_with_list_input(opts = {})
- # verify existence of params
+
# resource path
path = "/user/createWithList".sub('{format}','json')
@@ -126,40 +92,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Logs user into the system
#
@@ -168,7 +117,7 @@ module SwaggerClient
# @option opts [string] :password The password for login in clear text
# @return string
def self.login_user(opts = {})
- # verify existence of params
+
# resource path
path = "/user/login".sub('{format}','json')
@@ -181,28 +130,31 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- string.new(response)
- end
+ obj = string.new() and obj.build_from_hash(response)
+ end
# Logs out current logged in user session
#
# @param [Hash] opts the optional parameters
# @return void
def self.logout_user(opts = {})
- # verify existence of params
+
# resource path
path = "/user/logout".sub('{format}','json')
@@ -213,20 +165,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
- Swagger::Request.new(:GET, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:GET, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Get user by user name
#
@@ -234,8 +189,10 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return User
def self.get_user_by_name(username, opts = {})
- # verify existence of params
- raise "username is required" if username.nil?
+
+ # verify the required parameter 'username' is set
+ raise "Missing the required parameter 'username' when calling get_user_by_name" if username.nil?
+
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
@@ -246,21 +203,24 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
- User.new(response)
- end
+ obj = User.new() and obj.build_from_hash(response)
+ end
# Updated user
# This can only be done by the logged in user.
@@ -269,8 +229,10 @@ module SwaggerClient
# @option opts [User] :body Updated user object
# @return void
def self.update_user(username, opts = {})
- # verify existence of params
- raise "username is required" if username.nil?
+
+ # verify the required parameter 'username' is set
+ raise "Missing the required parameter 'username' when calling update_user" if username.nil?
+
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
@@ -281,40 +243,23 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
- post_body = nil
- _body_param = opts[:'body']
- if _body_param != nil
- if _body_param.is_a?(Array)
- _array = Array.new
- _body_param.each do |item|
- if item.respond_to?(:to_body)
- _array.push item.to_body
- else
- _array.push item
- end
- end
- post_body = _array
- else
- if _body_param.respond_to?(:to_body)
- post_body = _body_param.to_body
- else
- post_body = _body_param
- end
- end
- end
+ post_body = Swagger::Request.object_to_http_body(opts[:'body'])
+
- Swagger::Request.new(:PUT, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:PUT, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
+ end
# Delete user
# This can only be done by the logged in user.
@@ -322,8 +267,10 @@ module SwaggerClient
# @param [Hash] opts the optional parameters
# @return void
def self.delete_user(username, opts = {})
- # verify existence of params
- raise "username is required" if username.nil?
+
+ # verify the required parameter 'username' is set
+ raise "Missing the required parameter 'username' when calling delete_user" if username.nil?
+
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
@@ -334,19 +281,22 @@ module SwaggerClient
# header parameters
header_params = {}
- _header_accept = 'application/json, application/xml'
- header_params['Accept'] = _header_accept if _header_accept != ''
+ # HTTP header 'Accept' (if needed)
+ _header_accept = ['application/json', 'application/xml']
+ _header_accept_result = Swagger::Request.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
+ # HTTP header 'Content-Type'
_header_content_type = []
- header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
+ header_params['Content-Type'] = Swagger::Request.select_header_content_type(_header_content_type)
# form parameters
form_params = {}
# http body (model)
post_body = nil
+
- Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
- end
+ Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
-end
\ No newline at end of file
+ end
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/base_object.rb b/samples/client/petstore/ruby/lib/swagger_client/models/base_object.rb
new file mode 100644
index 00000000000..642e4769e55
--- /dev/null
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/base_object.rb
@@ -0,0 +1,83 @@
+module SwaggerClient
+ # base class containing fundamental method such as to_hash, build_from_hash and more
+ class BaseObject
+
+ # return the object in the form of hash
+ def to_body
+ body = {}
+ self.class.attribute_map.each_pair do |key, value|
+ body[value] = self.send(key) unless self.send(key).nil?
+ end
+ body
+ end
+
+ # build the object from hash
+ def build_from_hash(attributes)
+ return nil unless attributes.is_a?(Hash)
+ self.class.swagger_types.each_pair do |key, type|
+ if type =~ /^array\[(.*)\]/i
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
+ else
+ #TODO show warning in debug mode
+ end
+ elsif !attributes[self.class.attribute_map[key]].nil?
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
+ else
+ # data not found in attributes(hash), not an issue as the data can be optional
+ end
+ end
+
+ self
+ end
+
+ def _deserialize(type, value)
+ case type.to_sym
+ when :DateTime
+ DateTime.parse(value)
+ when :string
+ value.to_s
+ when :int
+ value.to_i
+ when :double
+ value.to_f
+ when :boolean
+ if value =~ /^(true|t|yes|y|1)$/i
+ true
+ else
+ false
+ end
+ else # model
+ _model = SwaggerClient.const_get(type).new
+ _model.build_from_hash(value)
+ end
+ end
+
+ # to_body is an alias to to_body (backward compatibility)
+ def to_hash
+ hash = {}
+ self.class.attribute_map.each_pair do |key, value|
+ if self.send(key).is_a?(Array)
+ next if self.send(key).empty?
+ hash[value] = self.send(key).select{|v| !v.nil?}.map{ |v| _to_hash v} unless self.send(key).nil?
+ else
+ unless (_tmp_value = _to_hash self.send(key)).nil?
+ hash[value] = _tmp_value
+ end
+ end
+ end
+ hash
+ end
+
+ # Method to output non-array value in the form of hash
+ # For object, use to_hash. Otherwise, just return the value
+ def _to_hash(value)
+ if value.respond_to? :to_hash
+ value.to_hash
+ else
+ value
+ end
+ end
+
+ end
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/category.rb b/samples/client/petstore/ruby/lib/swagger_client/models/category.rb
index 87e41aad6fd..fe195c7ac87 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/models/category.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/category.rb
@@ -1,35 +1,44 @@
module SwaggerClient
- class Category
+ #
+ class Category < BaseObject
attr_accessor :id, :name
- # :internal => :external
+ # attribute mapping from ruby-style variable name to JSON key
def self.attribute_map
{
- :id => :'id',
- :name => :'name'
+
+ #
+ :'id' => :'id',
+
+ #
+ :'name' => :'name'
+
+ }
+ end
+
+ # attribute type
+ def self.swagger_types
+ {
+ :'id' => :'int',
+ :'name' => :'string'
}
end
def initialize(attributes = {})
- return if attributes.empty?
- # Morph attribute keys into undescored rubyish style
-
- if self.class.attribute_map[:"id"]
- @id = attributes["id"]
- end
-
- if self.class.attribute_map[:"name"]
- @name = attributes["name"]
- end
-
- end
+ return if !attributes.is_a?(Hash) || attributes.empty?
- def to_body
- body = {}
- self.class.attribute_map.each_pair do |key, value|
- body[value] = self.send(key) unless self.send(key).nil?
+ # convert string to symbol for hash key
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
+
+
+ if attributes[:'id']
+ @id = attributes[:'id']
end
- body
+
+ if attributes[:'name']
+ @name = attributes[:'name']
+ end
+
end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/order.rb b/samples/client/petstore/ruby/lib/swagger_client/models/order.rb
index 9adad6920ad..3fe0282ed9b 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/models/order.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/order.rb
@@ -1,55 +1,76 @@
module SwaggerClient
- class Order
+ #
+ class Order < BaseObject
attr_accessor :id, :pet_id, :quantity, :ship_date, :status, :complete
- # :internal => :external
+ # attribute mapping from ruby-style variable name to JSON key
def self.attribute_map
{
- :id => :'id',
- :pet_id => :'petId',
- :quantity => :'quantity',
- :ship_date => :'shipDate',
- :status => :'status',
- :complete => :'complete'
+
+ #
+ :'id' => :'id',
+
+ #
+ :'pet_id' => :'petId',
+
+ #
+ :'quantity' => :'quantity',
+
+ #
+ :'ship_date' => :'shipDate',
+
+ # Order Status
+ :'status' => :'status',
+
+ #
+ :'complete' => :'complete'
+
+ }
+ end
+
+ # attribute type
+ def self.swagger_types
+ {
+ :'id' => :'int',
+ :'pet_id' => :'int',
+ :'quantity' => :'int',
+ :'ship_date' => :'DateTime',
+ :'status' => :'string',
+ :'complete' => :'boolean'
}
end
def initialize(attributes = {})
- return if attributes.empty?
- # Morph attribute keys into undescored rubyish style
-
- if self.class.attribute_map[:"id"]
- @id = attributes["id"]
- end
-
- if self.class.attribute_map[:"pet_id"]
- @pet_id = attributes["petId"]
- end
-
- if self.class.attribute_map[:"quantity"]
- @quantity = attributes["quantity"]
- end
-
- if self.class.attribute_map[:"ship_date"]
- @ship_date = attributes["shipDate"]
- end
-
- if self.class.attribute_map[:"status"]
- @status = attributes["status"]
- end
-
- if self.class.attribute_map[:"complete"]
- @complete = attributes["complete"]
- end
-
- end
+ return if !attributes.is_a?(Hash) || attributes.empty?
- def to_body
- body = {}
- self.class.attribute_map.each_pair do |key, value|
- body[value] = self.send(key) unless self.send(key).nil?
+ # convert string to symbol for hash key
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
+
+
+ if attributes[:'id']
+ @id = attributes[:'id']
end
- body
+
+ if attributes[:'petId']
+ @pet_id = attributes[:'petId']
+ end
+
+ if attributes[:'quantity']
+ @quantity = attributes[:'quantity']
+ end
+
+ if attributes[:'shipDate']
+ @ship_date = attributes[:'shipDate']
+ end
+
+ if attributes[:'status']
+ @status = attributes[:'status']
+ end
+
+ if attributes[:'complete']
+ @complete = attributes[:'complete']
+ end
+
end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/pet.rb b/samples/client/petstore/ruby/lib/swagger_client/models/pet.rb
index 18e2be1dae0..32f95646c72 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/models/pet.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/pet.rb
@@ -1,59 +1,80 @@
module SwaggerClient
- class Pet
+ #
+ class Pet < BaseObject
attr_accessor :id, :category, :name, :photo_urls, :tags, :status
- # :internal => :external
+ # attribute mapping from ruby-style variable name to JSON key
def self.attribute_map
{
- :id => :'id',
- :category => :'category',
- :name => :'name',
- :photo_urls => :'photoUrls',
- :tags => :'tags',
- :status => :'status'
+
+ #
+ :'id' => :'id',
+
+ #
+ :'category' => :'category',
+
+ #
+ :'name' => :'name',
+
+ #
+ :'photo_urls' => :'photoUrls',
+
+ #
+ :'tags' => :'tags',
+
+ # pet status in the store
+ :'status' => :'status'
+
+ }
+ end
+
+ # attribute type
+ def self.swagger_types
+ {
+ :'id' => :'int',
+ :'category' => :'Category',
+ :'name' => :'string',
+ :'photo_urls' => :'array[string]',
+ :'tags' => :'array[Tag]',
+ :'status' => :'string'
}
end
def initialize(attributes = {})
- return if attributes.empty?
- # Morph attribute keys into undescored rubyish style
+ return if !attributes.is_a?(Hash) || attributes.empty?
+
+ # convert string to symbol for hash key
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
+
- if self.class.attribute_map[:"id"]
- @id = attributes["id"]
+ if attributes[:'id']
+ @id = attributes[:'id']
end
- if self.class.attribute_map[:"category"]
- @category = attributes["category"]
+ if attributes[:'category']
+ @category = attributes[:'category']
end
- if self.class.attribute_map[:"name"]
- @name = attributes["name"]
+ if attributes[:'name']
+ @name = attributes[:'name']
end
- if self.class.attribute_map[:"photo_urls"]
- if (value = attributes["photoUrls"]).is_a?(Array)
+ if attributes[:'photoUrls']
+ if (value = attributes[:'photoUrls']).is_a?(Array)
@photo_urls = value
end
end
- if self.class.attribute_map[:"tags"]
- if (value = attributes["tags"]).is_a?(Array)
- @tags = value.map{ |v| Tag.new(v) }
+ if attributes[:'tags']
+ if (value = attributes[:'tags']).is_a?(Array)
+ @tags = value
end
end
- if self.class.attribute_map[:"status"]
- @status = attributes["status"]
+ if attributes[:'status']
+ @status = attributes[:'status']
end
end
-
- def to_body
- body = {}
- self.class.attribute_map.each_pair do |key, value|
- body[value] = self.send(key) unless self.send(key).nil?
- end
- body
- end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/tag.rb b/samples/client/petstore/ruby/lib/swagger_client/models/tag.rb
index 41477ac7353..9c5cdde1af6 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/models/tag.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/tag.rb
@@ -1,35 +1,44 @@
module SwaggerClient
- class Tag
+ #
+ class Tag < BaseObject
attr_accessor :id, :name
- # :internal => :external
+ # attribute mapping from ruby-style variable name to JSON key
def self.attribute_map
{
- :id => :'id',
- :name => :'name'
+
+ #
+ :'id' => :'id',
+
+ #
+ :'name' => :'name'
+
+ }
+ end
+
+ # attribute type
+ def self.swagger_types
+ {
+ :'id' => :'int',
+ :'name' => :'string'
}
end
def initialize(attributes = {})
- return if attributes.empty?
- # Morph attribute keys into undescored rubyish style
-
- if self.class.attribute_map[:"id"]
- @id = attributes["id"]
- end
-
- if self.class.attribute_map[:"name"]
- @name = attributes["name"]
- end
-
- end
+ return if !attributes.is_a?(Hash) || attributes.empty?
- def to_body
- body = {}
- self.class.attribute_map.each_pair do |key, value|
- body[value] = self.send(key) unless self.send(key).nil?
+ # convert string to symbol for hash key
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
+
+
+ if attributes[:'id']
+ @id = attributes[:'id']
end
- body
+
+ if attributes[:'name']
+ @name = attributes[:'name']
+ end
+
end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/models/user.rb b/samples/client/petstore/ruby/lib/swagger_client/models/user.rb
index 042d589726b..2d723da54c4 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/models/user.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/models/user.rb
@@ -1,65 +1,92 @@
module SwaggerClient
- class User
+ #
+ class User < BaseObject
attr_accessor :id, :username, :first_name, :last_name, :email, :password, :phone, :user_status
- # :internal => :external
+ # attribute mapping from ruby-style variable name to JSON key
def self.attribute_map
{
- :id => :'id',
- :username => :'username',
- :first_name => :'firstName',
- :last_name => :'lastName',
- :email => :'email',
- :password => :'password',
- :phone => :'phone',
- :user_status => :'userStatus'
+
+ #
+ :'id' => :'id',
+
+ #
+ :'username' => :'username',
+
+ #
+ :'first_name' => :'firstName',
+
+ #
+ :'last_name' => :'lastName',
+
+ #
+ :'email' => :'email',
+
+ #
+ :'password' => :'password',
+
+ #
+ :'phone' => :'phone',
+
+ # User Status
+ :'user_status' => :'userStatus'
+
+ }
+ end
+
+ # attribute type
+ def self.swagger_types
+ {
+ :'id' => :'int',
+ :'username' => :'string',
+ :'first_name' => :'string',
+ :'last_name' => :'string',
+ :'email' => :'string',
+ :'password' => :'string',
+ :'phone' => :'string',
+ :'user_status' => :'int'
}
end
def initialize(attributes = {})
- return if attributes.empty?
- # Morph attribute keys into undescored rubyish style
-
- if self.class.attribute_map[:"id"]
- @id = attributes["id"]
- end
-
- if self.class.attribute_map[:"username"]
- @username = attributes["username"]
- end
-
- if self.class.attribute_map[:"first_name"]
- @first_name = attributes["firstName"]
- end
-
- if self.class.attribute_map[:"last_name"]
- @last_name = attributes["lastName"]
- end
-
- if self.class.attribute_map[:"email"]
- @email = attributes["email"]
- end
-
- if self.class.attribute_map[:"password"]
- @password = attributes["password"]
- end
-
- if self.class.attribute_map[:"phone"]
- @phone = attributes["phone"]
- end
-
- if self.class.attribute_map[:"user_status"]
- @user_status = attributes["userStatus"]
- end
-
- end
+ return if !attributes.is_a?(Hash) || attributes.empty?
- def to_body
- body = {}
- self.class.attribute_map.each_pair do |key, value|
- body[value] = self.send(key) unless self.send(key).nil?
+ # convert string to symbol for hash key
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
+
+
+ if attributes[:'id']
+ @id = attributes[:'id']
end
- body
+
+ if attributes[:'username']
+ @username = attributes[:'username']
+ end
+
+ if attributes[:'firstName']
+ @first_name = attributes[:'firstName']
+ end
+
+ if attributes[:'lastName']
+ @last_name = attributes[:'lastName']
+ end
+
+ if attributes[:'email']
+ @email = attributes[:'email']
+ end
+
+ if attributes[:'password']
+ @password = attributes[:'password']
+ end
+
+ if attributes[:'phone']
+ @phone = attributes[:'phone']
+ end
+
+ if attributes[:'userStatus']
+ @user_status = attributes[:'userStatus']
+ end
+
end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/swagger.rb b/samples/client/petstore/ruby/lib/swagger_client/swagger.rb
index 925382cf94e..278db36e4ca 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/swagger.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/swagger.rb
@@ -1,16 +1,17 @@
require 'logger'
+require 'json'
module SwaggerClient
module Swagger
class << self
attr_accessor :logger
-
+
# A Swagger configuration object. Must act like a hash and return sensible
# values for all Swagger configuration options. See Swagger::Configuration.
attr_accessor :configuration
attr_accessor :resources
-
+
# Call this method to modify defaults in your initializers.
#
# @example
@@ -38,31 +39,31 @@ module SwaggerClient
configuration.base_path = "/#{configuration.base_path}".gsub(/\/+/, '/')
configuration.base_path = "" if configuration.base_path == "/"
end
-
+
def authenticated?
Swagger.configuration.auth_token.present?
end
-
+
def de_authenticate
Swagger.configuration.auth_token = nil
end
-
+
def authenticate
return if Swagger.authenticated?
-
+
if Swagger.configuration.username.blank? || Swagger.configuration.password.blank?
raise ClientError, "Username and password are required to authenticate."
end
-
+
request = Swagger::Request.new(
- :get,
- "account/authenticate/{username}",
+ :get,
+ "account/authenticate/{username}",
:params => {
- :username => Swagger.configuration.username,
+ :username => Swagger.configuration.username,
:password => Swagger.configuration.password
}
)
-
+
response_body = request.response.body
Swagger.configuration.auth_token = response_body['token']
end
@@ -74,4 +75,4 @@ module SwaggerClient
class ClientError < StandardError
end
-end
\ No newline at end of file
+end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/swagger/request.rb b/samples/client/petstore/ruby/lib/swagger_client/swagger/request.rb
index 8a605784a3a..d5f266267da 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/swagger/request.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/swagger/request.rb
@@ -24,21 +24,21 @@ module SwaggerClient
if attributes[:headers].present? && attributes[:headers].has_key?(:api_key)
default_headers.delete(:api_key)
end
-
+
# api_key from params hash trumps all others (headers and default_headers)
if attributes[:params].present? && attributes[:params].has_key?(:api_key)
default_headers.delete(:api_key)
attributes[:headers].delete(:api_key) if attributes[:headers].present?
end
-
+
# Merge argument headers into defaults
attributes[:headers] = default_headers.merge(attributes[:headers] || {})
-
+
# Stick in the auth token if there is one
if Swagger.authenticated?
attributes[:headers].merge!({:auth_token => Swagger.configuration.auth_token})
end
-
+
self.http_method = http_method.to_sym
self.path = path
attributes.each do |name, value|
@@ -47,20 +47,20 @@ module SwaggerClient
end
# Construct a base URL
- def url(options = {})
+ def url(options = {})
u = Addressable::URI.new(
:scheme => Swagger.configuration.scheme,
:host => Swagger.configuration.host,
:path => self.interpreted_path,
:query => self.query_string.sub(/\?/, '')
).to_s
-
+
# Drop trailing question mark, if present
u.sub! /\?$/, ''
-
+
# Obfuscate API key?
u.sub! /api\_key=\w+/, 'api_key=YOUR_API_KEY' if options[:obfuscated]
-
+
u
end
@@ -83,18 +83,18 @@ module SwaggerClient
# e.g. /words/blah => /words/blah.{format}
if Swagger.configuration.force_ending_format
unless ['.json', '.xml', '{format}'].any? {|s| p.downcase.include? s }
- p = "#{p}.#{format}"
+ p = "#{p}.#{format}"
end
end
p = p.sub("{format}", self.format.to_s)
-
+
URI.encode [Swagger.configuration.base_path, p].join("/").gsub(/\/+/, '/')
end
-
+
# Massage the request body into a state of readiness
# If body is a hash, camelize all keys then convert to a json string
- def body=(value)
+ def body=(value)
if value.is_a?(Hash)
value = value.inject({}) do |memo, (k,v)|
memo[k.to_s.camelize(:lower).to_sym] = v
@@ -103,9 +103,9 @@ module SwaggerClient
end
@body = value
end
-
+
# If body is an object, JSONify it before making the actual request.
- # For form parameters, remove empty value
+ # For form parameters, remove empty value
def outgoing_body
# http form
if @body.nil? && @form_params && !@form_params.empty?
@@ -118,7 +118,7 @@ module SwaggerClient
@body.is_a?(String) ? @body : @body.to_json
end
end
-
+
# Construct a query string from the query-string-type params
def query_string
# Iterate over all params,
@@ -133,17 +133,17 @@ module SwaggerClient
end
query_values[key] = value.to_s
end
-
+
# We don't want to end up with '?' as our query string
# if there aren't really any params
return "" if query_values.blank?
-
+
# Addressable requires query_values to be set after initialization..
qs = Addressable::URI.new
qs.query_values = query_values
qs.to_s
end
-
+
def make
#TODO use configuration setting to determine if debugging
#logger = Logger.new STDOUT
@@ -175,7 +175,7 @@ module SwaggerClient
:body => self.outgoing_body,
:headers => self.headers.stringify_keys,
)
-
+
when :delete,:DELETE
Typhoeus::Request.delete(
self.url,
@@ -185,21 +185,73 @@ module SwaggerClient
end
Response.new(response)
end
-
+
def response
self.make
end
-
+
def response_code_pretty
return unless @response.present?
- @response.code.to_s
+ @response.code.to_s
end
-
+
def response_headers_pretty
return unless @response.present?
# JSON.pretty_generate(@response.headers).gsub(/\n/, '
') # <- This was for RestClient
@response.headers.gsub(/\n/, '
') # <- This is for Typhoeus
end
+
+ # return 'Accept' based on an array of accept provided
+ # @param [Array] header_accept_array Array fo 'Accept'
+ # @return String Accept (e.g. application/json)
+ def self.select_header_accept header_accept_array
+ if header_accept_array.empty?
+ return
+ elsif header_accept_array.any?{ |s| s.casecmp('application/json')==0 }
+ 'application/json' # look for json data by default
+ else
+ header_accept_array.join(',')
+ end
+ end
+
+ # return the content type based on an array of content-type provided
+ # @param [Array] content_type_array Array fo content-type
+ # @return String Content-Type (e.g. application/json)
+ def self.select_header_content_type content_type_array
+ if content_type_array.empty?
+ 'application/json' # use application/json by default
+ elsif content_type_array.any?{ |s| s.casecmp('application/json')==0 }
+ 'application/json' # use application/json if it's included
+ else
+ content_type_array[0]; # otherwise, use the first one
+ end
+ end
+
+ # static method to convert object (array, hash, object, etc) to JSON string
+ # @param model object to be converted into JSON string
+ # @return string JSON string representation of the object
+ def self.object_to_http_body model
+ return if model.nil?
+ _body = nil
+ if model.is_a?(Array)
+ _body = model.map{|m| object_to_hash(m) }
+ else
+ _body = object_to_hash(model)
+ end
+ _body.to_json
+ end
+
+ # static method to convert object(non-array) to hash
+ # @param obj object to be converted into JSON string
+ # @return string JSON string representation of the object
+ def self.object_to_hash obj
+ if obj.respond_to?(:to_hash)
+ obj.to_hash
+ else
+ obj
+ end
+ end
+
end
end
end
diff --git a/samples/client/petstore/ruby/lib/swagger_client/swagger/response.rb b/samples/client/petstore/ruby/lib/swagger_client/swagger/response.rb
index b0870d2f220..538821bea69 100644
--- a/samples/client/petstore/ruby/lib/swagger_client/swagger/response.rb
+++ b/samples/client/petstore/ruby/lib/swagger_client/swagger/response.rb
@@ -17,7 +17,7 @@ module SwaggerClient
def code
raw.code
end
-
+
# Account for error messages that take different forms...
def error_message
body['message']
@@ -28,12 +28,12 @@ module SwaggerClient
# If body is JSON, parse it
# Otherwise return raw string
def body
- JSON.parse raw.body
+ JSON.parse(raw.body, :symbolize_names => true)
rescue
raw.body
end
- # `headers_hash` is a Typhoeus-specific extension of Hash,
+ # `headers_hash` is a Typhoeus-specific extension of Hash,
# so simplify it back into a regular old Hash.
def headers
h = {}
@@ -67,4 +67,4 @@ module SwaggerClient
end
end
end
-end
\ No newline at end of file
+end