ActiveTorrent::Torrent
Inherits ActiveRecord::Base < ActionView::FormModel < Reference < Object
STI subclasses inherit the table name (explicit override or convention) from their model superclass (one level; deeper STI needs an explicit set_table_name). Intermediate abstract bases (ApplicationRecord) are not models — walk past them. STI shape: a non-abstract registered model superclass marks the class as single-table-inherited (abstract intermediates like ApplicationRecord do not).
Constants
Значения ar_enum (Int64 в БД; геттеры/предикаты — Rails-семантика).
Constructors
server_blob: файл есть на сервере (ActiveStorage::Blob) — режем на куски, хэшируем, создаём published-раздачу.
Class methods
Instance methods
.torrent собирается ИЗ МЕТАДАННЫХ (pieces в БД) — работает в обоих режимах, локальный файл не нужен (описание §5.3). webseed_url (url-list, BEP 19) передаёт приложение — оно знает свой маршрут отдачи; для seedbox_origin не передавать вовсе (сервер файла не имеет — описание §3.2). announce nil — webseed-only метаданные.
Файл есть на этом сервере? Управляет всем: webseed, last-resort, 503-контракт (описание §3, §8).
Подписанный токен metainfo (аналог blob signed_id; контроллер принимает GET /torrents/<token>/metainfo).