mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-04 06:30:52 +00:00
[ruby] Make sure super is always called for ApiError class. (#4168)
* [ruby] Make sure super is always called for ApiError class. * Add test for Petstore::ApiError
This commit is contained in:
parent
98a26c3922
commit
f6a02f4339
@ -13,12 +13,14 @@ module {{moduleName}}
|
|||||||
# ApiError.new(:code => 404, :message => "Not Found")
|
# ApiError.new(:code => 404, :message => "Not Found")
|
||||||
def initialize(arg = nil)
|
def initialize(arg = nil)
|
||||||
if arg.is_a? Hash
|
if arg.is_a? Hash
|
||||||
|
if arg.key?(:message) || arg.key?('message')
|
||||||
|
super(arg[:message] || arg['message'])
|
||||||
|
else
|
||||||
|
super arg
|
||||||
|
end
|
||||||
|
|
||||||
arg.each do |k, v|
|
arg.each do |k, v|
|
||||||
if k.to_s == 'message'
|
instance_variable_set "@#{k}", v
|
||||||
super v
|
|
||||||
else
|
|
||||||
instance_variable_set "@#{k}", v
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
super arg
|
super arg
|
||||||
|
@ -32,12 +32,14 @@ module Petstore
|
|||||||
# ApiError.new(:code => 404, :message => "Not Found")
|
# ApiError.new(:code => 404, :message => "Not Found")
|
||||||
def initialize(arg = nil)
|
def initialize(arg = nil)
|
||||||
if arg.is_a? Hash
|
if arg.is_a? Hash
|
||||||
|
if arg.key?(:message) || arg.key?('message')
|
||||||
|
super(arg[:message] || arg['message'])
|
||||||
|
else
|
||||||
|
super arg
|
||||||
|
end
|
||||||
|
|
||||||
arg.each do |k, v|
|
arg.each do |k, v|
|
||||||
if k.to_s == 'message'
|
instance_variable_set "@#{k}", v
|
||||||
super v
|
|
||||||
else
|
|
||||||
instance_variable_set "@#{k}", v
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
super arg
|
super arg
|
||||||
|
15
samples/client/petstore/ruby/spec/api_error_spec.rb
Normal file
15
samples/client/petstore/ruby/spec/api_error_spec.rb
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
require File.dirname(__FILE__) + '/spec_helper'
|
||||||
|
|
||||||
|
describe Petstore::ApiClient do
|
||||||
|
describe '#initialize' do
|
||||||
|
it "should save the message if one is given" do
|
||||||
|
err = Petstore::ApiError.new(message: "Hello")
|
||||||
|
expect(err.message).to eq("Hello")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should save the hash as message if no message is given" do
|
||||||
|
err = Petstore::ApiError.new(code: 500, response_body: "server error")
|
||||||
|
expect(err.message).to eq("{:code=>500, :response_body=>\"server error\"}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user