vanilla-rails-delegated-types

Unify multiple Rails recordable types under a central Recording container.

3|Updated Dec 25, 2025
One-click install
npx skills add https://github.com/ZempTime/zemptime-marketplace --skill vanilla-rails-delegated-types
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vanilla-rails-delegated-types
Source: https://github.com/ZempTime/zemptime-marketplace/tree/main/vanilla-rails/skills/delegated-types
Command: npx skills add https://github.com/ZempTime/zemptime-marketplace --skill vanilla-rails-delegated-types

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Delegated types solve the challenge of managing many content types that must share metadata and operations without duplicating data or complex queries.

Core Features & Use Cases

  • Unified container: A Recording wraps multiple Recordables (Messages, Documents, Uploads, Comments) with shared metadata like creator, timestamps, and access control.
  • Cross-type operations: Enables unified timelines, filtering, and actions across all contained types.
  • When to use: Use when UI needs to co-mingle several content types and when centralizing permissions and audits is beneficial.

Quick Start

Start by modeling a Bucket-Recording-Recordable pattern in your Rails app, then connect your concrete recordables (Message, Document, Upload, Comment) to Recording and query via the central surface.

Frequently Asked Questions about vanilla-rails-delegated-types

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I unify multiple content types in a Rails unified timeline?

To unify multiple content types in a Rails unified timeline, use a central Recording container that wraps Recordables like Messages and Documents, allowing shared metadata and cross-type querying without data duplication.

What are delegated types in Rails and when should I use them?

Delegated types in Rails are a data modeling technique for managing multiple content types sharing metadata and operations. Use them when your UI needs to co-mingle types like Messages, Documents, Uploads, and Comments in a single unified query surface.

What's the best way to manage shared metadata across polymorphic Rails models?

The best way to manage shared metadata across polymorphic Rails models is implementing a Bucket-Recording-Recordable pattern, where a central Recording handles permissions, audits, and timestamps for all contained recordable types.

How do I query multiple recordable types in Rails without complex polymorphic joins?

Query multiple recordable types in Rails without complex polymorphic joins by using a central Recording as your primary query target, enabling unified filtering and actions across all associated recordable types.

When should I avoid using delegated types for Rails content management?

Avoid using delegated types for Rails content management when your recordable types do not need to co-mingle in the UI, lack shared metadata requirements, or when centralizing permissions and audits across types provides no operational benefit.