technobrain/swagger_codegen_rails

View on GitHub
lib/generators/swagger/add/templates/_swagger.rb.tt

Summary

Maintainability
Test Coverage
<% module_namespacing do -%>
module <%= module_name %>
  extend ActiveSupport::Concern
  extend SwaggerCodegenRails::Konstants

  include_swagger '<%= swagger_schema_dir -%>', type: :model

  included do
    swagger_path '<%= full_uri -%>' do
      operation :<%= http_method.downcase -%> do
        key :description, "TODO: describe endpoint here"
        key :operationId, "TODO: "
        key :produces, [
          'application/json',
        ]
        key :tags, [
          # A list of tags used by the specification with additional metadata.
        ]

<% @params&.each do |param| -%>
        parameter do
          key :name, :<%= param.name %>
          key :in, :<%= param.in %>
          key :description, "TODO: "
          key :type, :<%= param.type %>
          key :required, <%= param.required %>
        end
<%= "\n" %>
<% end -%>
        response 200 do
          key :description, "TODO: "
          schema do
            # key :'$ref', TODO:
          end
        end

        response 404 do
          key :description, "TODO: "
          schema do
            # key :'$ref', TODO:
          end
        end

        response 501 do
          key :description, "TODO: "
          schema do
            # key :'$ref', TODO:
          end
        end
      end
    end
  end
end
<% end -%>