rubygems/rubygems.org

View on GitHub
app/controllers/api/v2/versions_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class Api::V2::VersionsController < Api::BaseController
  before_action :find_rubygem_by_name, only: [:show]

  def show
    return unless stale?(@rubygem)
    cache_expiry_headers
    set_surrogate_key "gem/#{@rubygem.name}"

    version = @rubygem.public_version_payload(version_params[:number], version_params[:platform])
    if version
      respond_to do |format|
        format.json { render json: version }
        format.yaml { render yaml: version }
      end
    else
      render plain: "This version could not be found.", status: :not_found
    end
  end

  protected

  def version_params
    params.permit(:platform, :number)
  end
end