class Apipie::Generator::Swagger::MethodDescription::ResponseService
Public Class Methods
new(method_description, http_method:, language:)
click to toggle source
@param [Apipie::Generator::Swagger::MethodDescription::Decorator] method_description @param [Symbol] http_method
# File lib/apipie/generator/swagger/method_description/response_service.rb, line 4 def initialize(method_description, http_method:, language:) @method_description = method_description @http_method = http_method @language = language end
Public Instance Methods
call()
click to toggle source
@return [Hash]
# File lib/apipie/generator/swagger/method_description/response_service.rb, line 11 def call result = {} result.merge!(errors) result.merge!(responses) result.merge!(empty_returns) result end
Private Instance Methods
empty_returns()
click to toggle source
@return [Hash]
# File lib/apipie/generator/swagger/method_description/response_service.rb, line 48 def empty_returns return {} if errors.present? || responses.present? Apipie::Generator::Swagger::Warning.for_code( Apipie::Generator::Swagger::Warning::NO_RETURN_CODES_SPECIFIED_CODE, @method_description.ruby_name ).warn_through_writer { 200 => { description: 'ok' } } end
errors()
click to toggle source
@return [Hash]
# File lib/apipie/generator/swagger/method_description/response_service.rb, line 23 def errors @errors ||= @method_description.errors.each_with_object({}) do |error, errors| errors[error.code] = { description: Apipie.app.translate(error.description, @language) } end end
responses()
click to toggle source
@return [Hash]
# File lib/apipie/generator/swagger/method_description/response_service.rb, line 32 def responses @responses ||= @method_description.returns.each_with_object({}) do |response, responses_schema| responses_schema[response.code] = { description: Apipie.app.translate(response.description, @language), schema: Apipie::Generator::Swagger::MethodDescription::ResponseSchemaService.new( response, allow_null: false, http_method: @http_method, controller_method: @method_description ).to_swagger }.compact end end