Ruby

A collection of 9 posts
Socket Activated Containers (Unicorn + Systemd)
Containers

Socket Activated Containers (Unicorn + Systemd)

У клиента есть большое количество медийных спец проектов (~250). Это виджеты, лендинги, апишки и т.д. С 2012 года это все живет на 1 машине со связкой Nginx + Passenger + Ruby. Все хорошо, за исключением момента обновления ОС, когда все проблемы со старыми/новыми версиями пакетов вылезают и заявляют о себе
4 min read
программирование

Decorator vs Strategy, Composite, Presenter

Очень понравилась статья [http://robots.thoughtbot.com/post/20964851591/decorators-compared-to-strategies-composites-and] Dan Croak [https://profiles.google.com/115463449660844194795] из ThoughtBot [http://www.thoughtbot.com], про сравнение паттернов, которые часто путают( Декоратор, Презентер, Стратегия, Композиция). По сути этот пост это перевод статьи для себя. Decorator Следуя определению GoF, суть декоратора заключается в
1 min read
программирование

[Rails] Exception handling

Продолжаю свои увлекательные (или не очень) рассказы про рабочие будни и задачи, которые надо было решать. Сразу к делу: Задача Сделать кастомные страницы исключений для апи и веб интерфейсов. Стандартизировать подход к отлову и отдаче исключений. № Контекст Иногда в приложении происходит неведомая х**ня что-то странное, и вылезает исключение, с
3 min read
программирование

[Ruby] Читайте документацию или как красиво работать с many-to-many

Поделюсь решением проблемы, возникшей при выполнении очередной задачи на работе. Ситуация: Есть список рассылок List, у него может быть много подписчиков Subscribers (связь многие ко многим), реализовано через третью таблицу SubscriberLists. class List < ActiveRecord::Base has_many :subscriber_lists, :dependent => :destroy has_many :subscribers, :through => :subscriber_lists end Требуется: Выводить
1 min read
Ruby

[Ruby]: Сортировка и фильтрация по связанным ресурсам в разных локалях с Ransack

Задача была проста: есть модель User и связанная с ней модель Role, нужно организовать поиск и сортировку, и все бы ничего, да только связаны они many-to-many связью: has_many :roles, :through => :user_roles Истоки данного варианта соединения мне, к сожалению, были неизвестны, а задачу надо было решить. Почему именно ransack?
3 min read
программирование

[Ruby] Как написать свой gem #1

Очень много про это написано, поэтому тем, кто знает лучше не читать. Это скорее просто cheat sheet для себя. Разобью на несколько этапов, чтобы было понятнее, проще и все описать. Все не в понарошку гем configus, упражнение на новой работе. С чего начать? Для начала нам необходим bundler. Но если
1 min read