forked from loafle/openapi-generator-original
[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")
|
||||
def initialize(arg = nil)
|
||||
if arg.is_a? Hash
|
||||
arg.each do |k, v|
|
||||
if k.to_s == 'message'
|
||||
super v
|
||||
if arg.key?(:message) || arg.key?('message')
|
||||
super(arg[:message] || arg['message'])
|
||||
else
|
||||
instance_variable_set "@#{k}", v
|
||||
super arg
|
||||
end
|
||||
|
||||
arg.each do |k, v|
|
||||
instance_variable_set "@#{k}", v
|
||||
end
|
||||
else
|
||||
super arg
|
||||
|
@ -32,12 +32,14 @@ module Petstore
|
||||
# ApiError.new(:code => 404, :message => "Not Found")
|
||||
def initialize(arg = nil)
|
||||
if arg.is_a? Hash
|
||||
arg.each do |k, v|
|
||||
if k.to_s == 'message'
|
||||
super v
|
||||
if arg.key?(:message) || arg.key?('message')
|
||||
super(arg[:message] || arg['message'])
|
||||
else
|
||||
instance_variable_set "@#{k}", v
|
||||
super arg
|
||||
end
|
||||
|
||||
arg.each do |k, v|
|
||||
instance_variable_set "@#{k}", v
|
||||
end
|
||||
else
|
||||
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