---
title: "Scorm Ruby Gem"
description: "This is the Ruby ecosystem's default answer to \"I need to open a SCORM zip and find out what is in it\". It opens a package, exposes the manifest as objects — identifier, organisations, resources, adlcp:scormType, metadata — and can go the other way to bundle a directory into a valid package. A CLI wraps the same code with create, bundle, check and extract subcommands, which makes it usable from a Rakefile or a deploy script without writing any Ruby."
canonical_url: "https://scorm-tools.com/tools/scorm-ruby-gem"
last_updated: "2026-10-31T10:22:02.857Z"
---

This is the Ruby ecosystem's default answer to "I need to open a SCORM zip and find out what is in it". It opens a package, exposes the manifest as objects — identifier, organisations, resources, `adlcp:scormType`, metadata — and can go the other way to bundle a directory into a valid package. A CLI wraps the same code with `create`, `bundle`, `check` and `extract` subcommands, which makes it usable from a Rakefile or a deploy script without writing any Ruby.

It is explicit about its scope, and that honesty is worth respecting: this is the Content Aggregation Model only. Nothing here implements the run-time API, tracks a learner, or talks to an LMS. If you are building a Rails application that needs to accept uploaded courses, validate them and read their structure, it fits exactly. If you need to play the course afterwards, you need a separate runtime.

The practical limitation to know before you adopt it is the version ceiling. The parser accepts SCORM 1.2 and SCORM 2004 3rd Edition; 4th Edition manifests fail strict validation, and 4th Edition is what most modern authoring tools emit.

Last touched in March 2024, with about eighty stars and no release tags. It is not abandoned so much as finished, in the way small parsing libraries often are — but nobody is going to add 4th Edition for you.
