npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@datafire/rubygems

v5.0.0

Published

DataFire integration for Ruby Gems

Readme

@datafire/rubygems

Client library for Ruby Gems

Installation and Usage

npm install --save @datafire/rubygems
let rubygems = require('@datafire/rubygems').create();

.then(data => {
  console.log(data);
});

Description

Interact with RubyGems.org to query and create gems, mange owners and more.

Actions

gems.name.format.get

Returns some basic information about the given gem.

rubygems.gems.name.format.get({
  "name": "",
  "format": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

search.format.get

Submit a search to Gemcutter for active gems, just like a search query on the site.

rubygems.search.format.get({
  "format": "",
  "query": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.
    • query required string: Query to search for.

Output

Output schema unknown

gems.format.get

List all gems that you own.

rubygems.gems.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

gems.post

Submit a gem to RubyGems.org. Must post a built RubyGem in the request body.

rubygems.gems.post(null, context)

Input

This action has no parameters

Output

Output schema unknown

gems.yank.delete

Remove a gem from RubyGems.org’s index.

rubygems.gems.yank.delete({
  "gem_name": "",
  "version": ""
}, context)

Input

  • input object
    • gem_name required string: Gem name.
    • version required string: Gem version.
    • platform string: Gem platform.

Output

Output schema unknown

gems.unyank.put

Update a previously yanked gem back into RubyGems.org’s index.

rubygems.gems.unyank.put({
  "gem_name": "",
  "version": ""
}, context)

Input

  • input object
    • gem_name required string: Gem name.
    • version required string: Gem version.
    • platform string: Gem platform.

Output

Output schema unknown

gems.latest.format.get

Pulls the 50 newest first-version gems added to RubyGems.org.

rubygems.gems.latest.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

gems.just_updated.format.get

Pulls the 50 most recently updated gems.

rubygems.gems.just_updated.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

versions.name.format.get

Returns an array of gem version details.

rubygems.versions.name.format.get({
  "name": "",
  "format": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

downloads.format.get

Returns an object containing the total number of downloads on RubyGems.

rubygems.downloads.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

downloads.top.format.get

Returns an object containing the top 50 downloaded gem versions for today.

rubygems.downloads.top.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

downloads.all.format.get

Returns an object containing the top 50 downloaded gem versions of all time.

rubygems.downloads.all.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

downloads.name_version.format.get

Returns an object containing the total number of downloads for a paritcular gem as well as the total number of downloads for the specified version.

rubygems.downloads.name_version.format.get({
  "name": "",
  "version": "",
  "format": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • version required string: Gem version.
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

versions.name_version.downloads.format.get

Returns an object containing the number of downloads by day for a particular gem version for 90 days of data.

rubygems.versions.name_version.downloads.format.get({
  "name": "",
  "version": "",
  "format": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • version required string: Gem version.
    • format required string (values: json, yaml): Response format.

Output

Output schema unknown

versions.name_version.downloads.search.format.get

Returns an object containing the number of downloads by day for a particular gem version between a date range, specified by the parameters from and to. Dates values should be specified in the format YYYY-MM-DD.

rubygems.versions.name_version.downloads.search.format.get({
  "name": "",
  "version": "",
  "format": "",
  "from": "",
  "to": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • version required string: Gem version.
    • format required string (values: json, yaml): Response format.
    • from required string: Start date from where to search for. (YYYY-MM-DD)
    • to required string: End date to where to search for. (YYYY-MM-DD)

Output

Output schema unknown

gems.name.owners.format.get

View all owners of a gem. These users can all push to this gem.

rubygems.gems.name.owners.format.get({
  "name": "",
  "format": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

gems.name.owners.post

Add an owner to a RubyGem you own, giving that user permission to manage it.

rubygems.gems.name.owners.post({
  "name": "",
  "email": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • email required string: Gem owner email.

Output

Output schema unknown

gems.name.owners.delete

Remove a user’s permission to manage a RubyGem you own.

rubygems.gems.name.owners.delete({
  "name": "",
  "email": ""
}, context)

Input

  • input object
    • name required string: Gem name.
    • email required string: Gem owner email.

Output

Output schema unknown

web_hooks.format.get

List the webhooks registered under your account.

rubygems.web_hooks.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

web_hooks.post

Create a webhook.

rubygems.web_hooks.post({
  "gem_name": "",
  "url": ""
}, context)

Input

  • input object
    • gem_name required string: Gem name. Could specify * to apply the hook globally to all gems.
    • url required string: WebHook URL.

Output

Output schema unknown

web_hooks.remove.delete

Remove a webhook.

rubygems.web_hooks.remove.delete({
  "gem_name": "",
  "url": ""
}, context)

Input

  • input object
    • gem_name required string: Gem name. Could specify * to apply the hook globally to all gems.
    • url required string: WebHook URL.

Output

Output schema unknown

web_hooks.fire.post

Test fire a webhook. This can be used to test out an endpoint at any time, for example when you’re developing your application.

rubygems.web_hooks.fire.post({
  "gem_name": "",
  "url": ""
}, context)

Input

  • input object
    • gem_name required string: Gem name. Could specify * to apply the hook globally to all gems.
    • url required string: WebHook URL.

Output

Output schema unknown

api_key.format.get

Retrieve your API key using HTTP basic auth.

rubygems.api_key.format.get({
  "format": ""
}, context)

Input

  • input object
    • format required string (values: json, xml, yaml): Response format.

Output

Output schema unknown

dependencies.get

Returns a marshalled array of hashes for all versions of given gems. Each hash contains a gem version with its dependencies making this useful for resolving dependencies.

rubygems.dependencies.get({
  "gems": ""
}, context)

Input

  • input object
    • gems required string: Comma delimited Gem names.

Output

Output schema unknown

Definitions

This integration has no definitions