Class: GemCP::Tools::ListVersions

Inherits:
Base
  • Object
show all
Defined in:
lib/gemcp/tools/list_versions.rb

Overview

List published versions of a gem with optional prerelease filtering.

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from GemCP::Tools::Base

Instance Method Details

#call(name:, include_prerelease: false, limit: 50) ⇒ Hash

Returns MCP response.

Parameters:

  • name (String)

    gem name

  • include_prerelease (Boolean) (defaults to: false)

    whether to include pre-release versions

  • limit (Integer) (defaults to: 50)

    maximum versions to return

Returns:

  • (Hash)

    MCP response



20
21
22
23
24
25
26
27
28
# File 'lib/gemcp/tools/list_versions.rb', line 20

def call(name:, include_prerelease: false, limit: 50)
  result = with_errors do
    versions = client.versions(name)
    versions = versions.reject { |item| item["prerelease"] } unless include_prerelease
    limited = versions.first(limit)
    { name: name, count: limited.length, versions: limited }
  end
  render(result)
end