• Как правильно расшарить схему миграции и атрибутов моделей в Rails?

    @vsuhachev
    Есть 2 варианта: наследование и concerns (ака mixin'ы). Основные отличия в смысловой нагрузке, которую вы вкладываете в отношения этих классов.

    Если Б это подкласс А, то логичнее использовать наследование. Пример - 'Автомобиль' и 'ВАЗ 2109'

    Если А и Б разнородные сущности, имеющие некий общий функционал то логичнее использовать concerns. Пример - 'Автомобиль' и 'Лифт' могут иметь общий функционал связанный с погрузкой пассажиров.
    Ответ написан
    2 комментария
  • Какие архитектурные принципы построения backend составляющей для мобильных Android/iOS приложений?

    @vsuhachev
    Рельсы из коробки поддерживают REST, соответственно веб-сервис можно построить в этой парадигме. Мне лично была очень полезна эта книга:

    Mark Massé. REST API Design Rulebook.

    В ней описаны основы построения рестового api вообще, без привязки к конкретным технологиям.

    Начинать нужно с проектирования REST API. Для реализации на рельсах можно для начала использовать из-коробочный jbuilder, достаточно простая и удобная вещь.
    Ответ написан
    2 комментария
  • Сборка standalone ruby-приложения для различных ОС (Windows, Mac, Linux). Есть рабочие решения?

    @vsuhachev
    Сборка отдельного приложения это просто запаковка интерпретатора, всех гемов и вашего скрипта в нечто наподобии SFX-архива с автозапуском. При запуске его на целевой платформе все это распаковывается во временную папку и запускается ruby.exe с набором ключей. По крайней мере так работали все виденные мной средства для создания "exe" для ruby. К тому же кросс-сборки нет и для сборки виндовой версии нужна Винда, для Макоси - Макось и т.д. В общем это не самый оптимальный путь, запуска своего приложения из командной строки.

    Обычно такое приложение пакуют в gem (в вашем случае с зависимостью от nokogiri) и снабжают все это инструкцией как установить в разных ОС ruby и ваш гем. Возможно еще придется описать как ставить зависимости, если они ставятся не без проблем. В вашем случае все просто, нокогири уже имеет подробную инструкцию по установке.
    Ответ написан
    Комментировать