Linking RubyGems.org as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

The RubyGems.org connector syncs gem metadata and version history into PostHog. Use it to track download statistics, monitor releases, and join gem data with your product analytics.

Alpha feature

The RubyGems.org source is currently in alpha. We'd love to hear your feedback.

Requirements

RubyGems.org's read APIs are public, so no credentials or API keys are required. You only need the names of the gems you want to track.

Setup

  1. Go to the Data pipeline page and select the Sources tab.

  2. Click + New source and select RubyGems.org.

  3. In the Gems field, enter the gem names you want to track – one per line or comma-separated. For example:

    rails
    rspec
    devise

    You can add up to 500 gems per source.

  4. Click Next, select the tables you want to sync, choose the sync frequency, and click Import.

The data warehouse then starts syncing your RubyGems.org data. You can see details and progress in the data pipeline sources tab.

Configuration

OptionTypeRequired
GemstextareaYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
gems

Current metadata and cumulative download count for each configured gem, from GET /api/v1/gems/{name}.json.

Full refresh
versions

Every published version of each configured gem, including per-version download counts, from GET /api/v1/versions/{name}.json.

Full refreshcreated_at

Sync method

All tables sync as full refresh. RubyGems.org's API has no server-side timestamp filter, so incremental sync is not supported. Each sync fetches the current metadata and full version history for every configured gem.

TableSync method
gemsFull refresh
versionsFull refresh

Available tables

gems

Current metadata and cumulative download count for each configured gem, from GET /api/v1/gems/{name}.json.

Primary key: name

ColumnDescription
nameGem name as registered on RubyGems.org
downloadsTotal cumulative downloads across all versions and platforms
versionLatest published version number
version_created_atTimestamp the latest version was published
version_downloadsCumulative downloads of the latest version
platformPlatform of the latest version (e.g. ruby, java)
authorsComma-separated list of gem authors
infoGem description/summary text
licensesList of licenses declared by the gem
metadataFree-form metadata map from the gemspec (changelog, source URIs, etc.)
project_uriCanonical RubyGems.org page for the gem
gem_uriDirect download URL for the latest version's .gem file
homepage_uriProject homepage URL, if declared
source_code_uriSource code repository URL, if declared
changelog_uriChangelog URL, if declared
dependenciesRuntime and development dependencies of the latest version

versions

Every published version of each configured gem, including per-version download counts, from GET /api/v1/versions/{name}.json.

Primary key: gem_name, number, platform (composite)

ColumnDescription
gem_nameGem the version belongs to (injected by the connector)
numberVersion number (e.g. 1.2.3)
platformBuild platform this version was published for (e.g. ruby, java)
created_atTimestamp the version was published
downloads_countCumulative downloads of this specific version
authorsComma-separated list of authors at this version
licensesList of licenses declared at this version
summaryShort one-line summary of the gem at this version
prereleaseWhether this version is a prerelease
shaSHA-256 checksum of this version's .gem file

Inbound IP addresses

We use a set of IP addresses to access your instance. To ensure this connector works, add these IPs to your inbound security rules:

USEU
44.205.89.553.75.65.221
52.4.194.12218.197.246.42
44.208.188.1733.120.223.253

Community questions

Was this page useful?