module Swagger::Serializer::RailsController
Private Instance Methods
body_deserializer()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 47 def body_deserializer @body_deserializer ||= if request.content_type swagger_operation.request_body.content[request.content_type]&.deserializer end end
body_params()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 43 def body_params @body_params ||= body_deserializer ? body_deserializer.deserialize(params.permit!.to_h).with_indifferent_access : {} end
parameter_deserializer()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 38 def parameter_deserializer @parameter_deserializer ||= swagger_operation.parameters.deserializer end
parameter_params()
click to toggle source
params
# File lib/swagger/serializer/rails_controller.rb, line 34 def parameter_params @parameter_params ||= parameter_deserializer.data(params.permit!.to_h).deserialize.with_indifferent_access end
render_as_schema(code, format, data, context = nil)
click to toggle source
render
# File lib/swagger/serializer/rails_controller.rb, line 6 def render_as_schema(code, format, data, context = nil) render format => render_serializer(code, format, context).serialize(data) end
render_serializer(code, format, context = nil)
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 10 def render_serializer(code, format, context = nil) response_obj = swagger_operation.responses[code] response_obj.content.send(format).serializer(inject_context: context) end
schema_params()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 54 def schema_params @schema_params ||= parameter_params.merge(body_params) end
swagger_operation()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 15 def swagger_operation return @swagger_operation if @swagger_operation route = swagger_schema_route_from_request @swagger_operation = Swagger::Schema.current.path(route[:path]).send(route[:method]) end
swagger_schema_route_from_request()
click to toggle source
# File lib/swagger/serializer/rails_controller.rb, line 22 def swagger_schema_route_from_request return @swagger_schema_route_from_request if @swagger_schema_route_from_request Rails.application.routes.router.recognize(request) do |route| path = route.path.spec.to_s.sub("(.:format)", "").gsub(/:(\w+)/, "{\\1}") @swagger_schema_route_from_request = { path: path, method: request.request_method.underscore } return @swagger_schema_route_from_request end end