← Все проекты
Проект / Elixir

ash-project/ash_storage: AshStorage — управление файлами для Ash Framework

Добавляет в ваш Elixir-проект на Ash Framework удобную систему вложений и файлового хранилища.

Это официальное расширение экосистемы Ash Framework для работы с файлами. Оно позволяет декларативно описывать вложения (например, has_one_attached :avatar) прямо в ресурсах Ash, после чего получать готовый API для загрузки, удаления и получения URL файлов....

★ 37 Elixir Форки 2 Issue 2 Оценка 7/10 Карточка проверена

Для кого это

Для разработчиков, которые уже используют Ash Framework и хотят добавить функционал загрузки файлов (например, аватаров, документов, изображений) к своим сущностям.

Проблема / задача

Реализация загрузки файлов в веб-приложениях — это рутина: нужно думать о хранении метаданных, связях с записями в БД, очистке старых файлов и генерации URL. AshStorage решает эту проблему, предлагая готовый, интегрированный в Ash Framework паттерн.

Как это работает

Это официальное расширение экосистемы Ash Framework для работы с файлами. Оно позволяет декларативно описывать вложения (например, has_one_attached :avatar) прямо в ресурсах Ash, после чего получать готовый API для загрузки, удаления и получения URL файлов. Библиотека абстрагирует детали хранения файлов и их связей с данными, следит за согласованностью и очисткой.

Что видно по README

Это официальное расширение экосистемы Ash Framework для работы с файлами. Оно позволяет декларативно описывать вложения (например, has_one_attached :avatar) прямо в ресурсах Ash, после чего получать готовый API для загрузки, удаления и получения URL файлов. Библиотека абстрагирует детали хранения файлов и их связей с данными, следит за согласованностью и очисткой.

Ключевые возможности

Декларативное объявление вложений (has_one_attached, has_many_attached)Автоматическое управление жизненным циклом файлов (очистка при замене или удалении записи)Поддержка различных типов связей: прямые внешние ключи, полиморфные связиГенерация URL для доступа к файлам

Технологии

ElixirAsh FrameworkPostgreSQLFFmpeg

Интересный факт

Проект использует философию Ash «ресурсы и домены» даже для файлов. Ваши аватары и документы становятся полноценными гражданами в доменно-ориентированной архитектуре приложения.

С чего начать

  • Добавьте ash_storage в зависимости mix.exs
  • Создайте ресурсы Blob и Attachment в своём домене
  • Добавьте расширение AshStorage и объявите вложения (например, has_one_attached :cover_image) в нужном Host-ресурсе

Оценка GitRadar

Удобство
7/10
Свежесть
6/10
Перспектива
8/10
Монетизация
4/10
Общая оценка
7/10

Вердикт GitRadar

Стоит пробовать, если вы уже в экосистеме Ash Framework. Это канонический и хорошо интегрированный способ добавить файлы. Для проектов не на Ash он не подойдёт.

Наблюдения по обновлениям

Проект молодой (версия 0.1.0), но является частью активной экосистемы Ash. CI настроен, issues мало, что говорит либо о стабильности, либо о малой известности.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/ash-project/ash_storage
Лицензия
MIT
Создан на GitHub
7 апреля 2026 г.
Последнее обновление репо
7 апреля 2026 г.
Последняя проверка GitRadar
7 апреля 2026 г.
Изученные файлы
README.md, .tool-versions

FAQ

Что это такое?

Библиотека для Elixir, которая добавляет в Ash Framework систему вложений и файлового хранилища, похожую на Active Storage из Rails.

Для кого подходит?

Исключительно для разработчиков, которые уже используют Ash Framework в своих Elixir-проектах и хотят добавить загрузку файлов.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с ash-project/ash_storage?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.