Size: a a a

pro.rb (Ruby/Rails / RU)

2019 November 28

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
а в чем смысл под ковер убрать говно?
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
Так я буду знать что там есть проблема. А если директивами обрамлю и правило для пути отключу то я просто закопаю проблему
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Dmitry Gorodnichy
а в чем смысл под ковер убрать говно?
Объяснить линтеру что это не гавно
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
Хотя это и не проблема на самом деле
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Линтер тупой, ты умный
источник

k

kolas in pro.rb (Ruby/Rails / RU)
Dmitry Gorodnichy
Как вот такую ссанину можно отрефакторить красиво?
def scope
     scope = AppCreationLog.all
     scope = scope.bundle_like(query) if query
     scope = scope.greater_than_limit if greater_than_limit
     scope
   end
можно использовать ламбда композицию, правда это трудно читаться будет
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
та мложно было и public_send заюзать. Но тоже решение сомнительное
источник

VL

Vyacheslav Loginov in pro.rb (Ruby/Rails / RU)
Dmitry Gorodnichy
Как вот такую ссанину можно отрефакторить красиво?
def scope
     scope = AppCreationLog.all
     scope = scope.bundle_like(query) if query
     scope = scope.greater_than_limit if greater_than_limit
     scope
   end
Этот метод очень много на себя берет, может имеет смысл сделать много супер тупых методов и потом уже вызывать цепочками Класс.мини_метод1.мини_метод2
В другом месте Класс.мини_метод2.еще_что_то_там
источник

МВ

Максим Вейсгейм in pro.rb (Ruby/Rails / RU)
Мне вообще кажется что там фичур енви
источник
2019 December 02

M

Max in pro.rb (Ruby/Rails / RU)
Dmitry Gorodnichy
Как вот такую ссанину можно отрефакторить красиво?
def scope
     scope = AppCreationLog.all
     scope = scope.bundle_like(query) if query
     scope = scope.greater_than_limit if greater_than_limit
     scope
   end
Можно начать с такого  - линтер должен быть доволен -

def scope
     return scope.bundle_like(query) if query
     return scope.greater_than_limit if greater_than_limit

     AppCreationLog.all
end
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
А если два условия соблюдены
источник

M

Max in pro.rb (Ruby/Rails / RU)
вообще я не прав. так не правильно
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
😁
источник

M

Max in pro.rb (Ruby/Rails / RU)
def scope
     scope = AppCreationLog.all
     return scope.bundle_like(query) if query
     return scope.greater_than_limit if greater_than_limit

     scope
end
Вот так должно работать.
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
Не, так тоже не будет. Нет возможности сразу 2 фильтра применить
источник

M

Max in pro.rb (Ruby/Rails / RU)
Dmitry Gorodnichy
Не, так тоже не будет. Нет возможности сразу 2 фильтра применить
Тогда можно как Alex предлагал - без последнего scope, хоть линтер успокоится.

def scope
     scope = AppCreationLog.all
     scope = scope.bundle_like(query) if query
     scope.greater_than_limit if greater_than_limit
end
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
Max
Тогда можно как Alex предлагал - без последнего scope, хоть линтер успокоится.

def scope
     scope = AppCreationLog.all
     scope = scope.bundle_like(query) if query
     scope.greater_than_limit if greater_than_limit
end
У тебя Нил вернётся
источник

M

Max in pro.rb (Ruby/Rails / RU)
ага, точно
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
источник

DG

Dmitry Gorodnichy in pro.rb (Ruby/Rails / RU)
Для меня это оверинжиниринг получится
источник