Overview of Shrine file attachment toolkit
Shrine is a modular toolkit for handling file attachments in Ruby applications. Key features include:
- Modular Design: A plugin system allows loading only necessary functionality.
- Memory Efficiency: Supports streaming uploads and downloads for large files.
- Cloud Storage: Compatible with local disk, AWS S3, Google Cloud, Cloudinary, and others.
- Persistence Integrations: Works with ActiveRecord, Sequel, ROM, Hanami, and Mongoid.
- Flexible Processing: Supports eager or on-the-fly thumbnail generation via ImageMagick or libvips.
- Direct Uploads: Supports asynchronous uploads to the app or cloud (e.g., via Uppy), including resumable uploads on S3 or tus.
- Background Processing: Built-in support for various backgrounding libraries.