Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 April 06

VS

Viacheslav Stepanov in Ruby, Rails, Hanami | dry-rb
Ну так может в скоупы пихать что-то часто используемое, а в query_object какую-то сложную логику и жить счастливо
источник

r

rekero in Ruby, Rails, Hanami | dry-rb
мы просто выносили в отдельные папки
источник

r

rekero in Ruby, Rails, Hanami | dry-rb
все скоупы
источник

r

rekero in Ruby, Rails, Hanami | dry-rb
все валидации
источник

VS

Viacheslav Stepanov in Ruby, Rails, Hanami | dry-rb
ну типа where(deleted: false) => not_deleted, это простой скоуп
источник

VS

Viacheslav Stepanov in Ruby, Rails, Hanami | dry-rb
и скорее всего много где будет вызван
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
По поводу сложных скоупов - согласен, их имеет смысл вынести куда-либо.
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
rekero
мы просто выносили в отдельные папки
Не возникало неудобств? Я про то, что переключаться постоянно по разным файлам.
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
Artem Napolskih
Я вообшем-то согласен что в идеале, скоупов в модели лучше не иметь. Лучше иметь query objects / finders /fetch services. Модель она модель, а не сборник запросов. Тут srp работает как и везде.

Вот мы написали такой гем в конторе:
https://github.com/abak-press/findit/blob/master/README.md
Спасибо, взгляну
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
Viacheslav Stepanov
Ну так может в скоупы пихать что-то часто используемое, а в query_object какую-то сложную логику и жить счастливо
Так и поступаем сейчас, просто дискуссия возникла, стоит ли продолжать )
источник

r

rekero in Ruby, Rails, Hanami | dry-rb
Mixam19
Не возникало неудобств? Я про то, что переключаться постоянно по разным файлам.
нет
источник

VS

Viacheslav Stepanov in Ruby, Rails, Hanami | dry-rb
Mixam19
Так и поступаем сейчас, просто дискуссия возникла, стоит ли продолжать )
ну тут спрашивать в чатах нет смысла, имхо, вам нужно решить удобно ли вам это в вашем проекте, не вызывает ли боли, не вызовет ли боли в дальнейшем
источник

AN

Artem Napolskih in Ruby, Rails, Hanami | dry-rb
Viacheslav Stepanov
Ну так может в скоупы пихать что-то часто используемое, а в query_object какую-то сложную логику и жить счастливо
Скорее так да, без перегибов. Основные вещи наверно могут быть в модели.
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
Viacheslav Stepanov
ну тут спрашивать в чатах нет смысла, имхо, вам нужно решить удобно ли вам это в вашем проекте, не вызывает ли боли, не вызовет ли боли в дальнейшем
Смысл в том, чтобы вдруг кто пошарит аргумент или статью, которую мы не учли и это повлияет на решение )
источник

AA

Alex A in Ruby, Rails, Hanami | dry-rb
А какие преимущества, если задуматься, дает вам модель без скоупов? Кроме осознания морального превосходства
источник

AN

Artem Napolskih in Ruby, Rails, Hanami | dry-rb
rekero
мы просто выносили в отдельные папки
Имхо это тоже самое что на модули бить, как бы модель не толстая, но это обман, ещё и по файлам переключаться. Была где то статья про это. Но да, наверно, это лучшем чем модель на 1к строк.
источник

AN

Artem Napolskih in Ruby, Rails, Hanami | dry-rb
Alex A
А какие преимущества, если задуматься, дает вам модель без скоупов? Кроме осознания морального превосходства
Такие же как и srp и порядок везде. Проще понять, проще тестировать, нет вероятности что разрастается до огромных размеров.
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
Artem Napolskih
Имхо это тоже самое что на модули бить, как бы модель не толстая, но это обман, ещё и по файлам переключаться. Была где то статья про это. Но да, наверно, это лучшем чем модель на 1к строк.
С точки зрения архитектуры - разницы никакой, с вынесением даже хуже ИМХО. Но это вкусовщина. А вот с точки зрения читабельности - довольно классно и удобно было выносить ту же стейт машину в отдельный консерн
источник

M

Mixam19 in Ruby, Rails, Hanami | dry-rb
Так что тут бабка надвое )
источник

VS

Viacheslav Stepanov in Ruby, Rails, Hanami | dry-rb
вынесите скоупы в concern
источник