
Fedor
11.09.2018
06:42:15
я вот даже от js избавился

Andrey ?
11.09.2018
06:42:44
А есть какой-нибудь рехаб для тех, кто сидел на js?

Fedor
11.09.2018
06:43:10
не не не, оставайтесь фронтами
нам нужны такие люди, которые будут страдать вместо нас

Google

Andrey
11.09.2018
06:43:36
Ну с JS и не фронтом можно быть же

Антон
11.09.2018
06:43:53
мы же во фронт не суем свои шаловливые рученки?
вот чо вы начинаете то сразу, нормально же общались

Darth
11.09.2018
06:55:19

Vitaly
11.09.2018
07:00:04

Артур
11.09.2018
07:06:53

Felix
11.09.2018
07:18:54

Артур
11.09.2018
07:19:41
это как отряд девочек темных эльфов из хироус
они тебя бьют, а твоей ответки нет

Fedor
11.09.2018
07:42:28
Главное что бы симпатичные были

Sergey
11.09.2018
10:27:22
Привет!
Кто знает есть возможность на гитхабе не учитывать изменения в коде как + если эти изменения были затронуты только изменением отступа?
Например, мы добавили новый namespace, весь код внутри класса пришлось сдвинуть на 2 пробела и в истории теперь куча красного и зелёного кода, хотя на деле добавился только один отступ и название модуля

Артур
11.09.2018
10:35:08
Не знаю если ли такой костыль в гитхабе.
Если ревьюверу хочешь хоть как-то помочь, сделай форматирование в другом коммите
Не всегда удобно, но хоть что-то

Google

Fedor
11.09.2018
10:35:47
https://blog.github.com/2018-05-01-ignore-white-space-in-code-review/

Sergey
11.09.2018
10:35:52
Так делаю всегда. Но blame становится потерян для будущих поколений.

Артур
11.09.2018
10:37:07
Введи линтер и форматировщик сейчас, чтобы следующие реквесты были красивыми

Sergey
11.09.2018
10:38:10
Уже есть рубокоп, но почти весь код написан через сокращенную форму namespace типа
A::B
вместо
module A
class B
Вроде бы и не так страшно, хотя могут выстрелить в ногу, так что я даже склоняюсь убрать коп Style/ClassAndModuleChildren
@FedorKoshel да, знаю такую фичу, но в случае с blame не поможет.

Andrey
11.09.2018
11:24:11
Кстати, стало интересно, как короче и красивее воплотить в Руби такую штуку как .to_s(36), но чтобы на вход можно было подать Integer и свой массив символов? Я из интереса написал такой метод, и он работает но чувствую, что в стандартной библиотеке должно быть что-то простое.

Andrey ?
11.09.2018
11:26:58
Покажи свой метод

Andrey
11.09.2018
11:27:10
def symbolize(i, arr)
result = ""
arr_length = arr.count
i = i.to_i rescue 0
return arr[i] if i < arr_length
begin
rem = i % arr_length
result.prepend(arr[rem]) if rem.nonzero? or i >= arr_length
i = i / arr_length
end while i >= arr_length or rem.nonzero?
result.prepend(arr[i]) if i.nonzero?
result
end
puts symbolize(1000, [*"А".."Я"])
Сорри за говнокод, если что ;)
Сегодня всплывал вопрос с «русским счетчиком», и стало интересно ?

Darth
11.09.2018
12:11:51
Есть не ленивый способ узанавания потмков класса?

Nikita
11.09.2018
12:25:25

Darth
11.09.2018
12:26:43
ObjectSpace.each_object(Class).select { |c| c < ClassName }
или просто
ClassName.descendants

Артур
11.09.2018
12:27:25

Darth
11.09.2018
12:28:17
Тем, что дают делать :)
Не хочу писать метод, который в папке будет собирать имена классов
Может всё таки есть способ принудительно залоадить классы в директории?
(не конфиг авто лоад паф)

Артур
11.09.2018
12:33:54
Но зачем?
Я не шарю, просто интересно

Darth
11.09.2018
12:35:22
Таск такой :)
Чтобы все джобы были видны из админки и не указывать из ручками

Google

Fedor
11.09.2018
12:36:24
что-то типа Dir[File.join(File.dirname(__FILE__), 'some/path', '*.rb')].each(&method(:require))
что ли надо?

Darth
11.09.2018
12:37:15
Да :)
Думал может есть в рельсах что-то такое, просто найти не могу
Но если нет это все равно более изящное решение, чем я сам бы написал
Спасибо


Black
11.09.2018
12:38:20
Ребята подскажите можно ли произвести сортировку с определёнными условиями.
Допустим, есть хэш Product, и у него такие параметры:
- min_delivery_day (минимальный срок доставки);
- cost (цена);
- qnt (количество);
- rating (рейтинг).
Надо произвести сортировку:
1. Ищем минимальную цену среди первого минимального срока. С рейтингом больше 40.
2. Ищем следующую минимальную цену среди двух наименьших сроков. С рейтингом больше 40. (И ценой меньше чем в пункте №1. Иначе с количеством более (X*2) из пункта №1.
3. Ищем следующую минимальную цену среди всех сроков. С рейтингом больше 20. (И ценой меньше чем в пункте №1 И №2. Иначе с количеством более (X*2) из пункта №1 И №2.
4. Ищем следующую минимальную цену среди всех сроков. С рейтингом больше 0. (И ценой меньше чем в пункте №1 И №2 И №3. Иначе с количеством более (X*2) из пункта №1 И №2 И №3.
Даже незнаю, возможна ли сделать такую сортировку!

Артур
11.09.2018
12:39:05
Как пробовал?

~/42/elrandir> ?ᅠ
11.09.2018
12:40:39
Все значения int ?


Black
11.09.2018
12:41:33

~/42/elrandir> ?ᅠ
11.09.2018
12:41:59
1. SELECT min(price) FROM product where rating > 40
2. Ищем следующую минимальную цену среди двух наименьших сроков. С рейтингом больше 40. (И ценой меньше чем в пункте №1. Иначе с количеством более (X*2) из пункта №1.
Уточняю, есть сроки, аля 10 9 8 4 3 90 и т.д., среди двух наименьших = 4 и 3 в моём случае :?
Если да, то подзапросы в помощь.

Black
11.09.2018
12:43:03

~/42/elrandir> ?ᅠ
11.09.2018
12:43:49
Флаг в руки, учись писать правильно.
Ищем минимальную цену среди первого минимального срока. С рейтингом больше 40.
SELECT price FROM product where rating > 40 AND min_delivery_day = (select min(min_delivery_day) from Product) ORDER by price ASC

Sergii
11.09.2018
12:44:48
про запросы у него ничего не было ?

~/42/elrandir> ?ᅠ
11.09.2018
12:44:50
Лови сортировку, по минимальному дню доставки.

Sergii
11.09.2018
12:45:09
но зачем?
у него данные в хеше

Google

Sergii
11.09.2018
12:45:22
уже, на руках

~/42/elrandir> ?ᅠ
11.09.2018
12:45:48
Тобишь выборку делать не надо, оно там само, волшебным образом встанет как угодно :? ну коке
и вправду, зачем чёт отсортировывает и выбирать, когда данные уже есть

Sergii
11.09.2018
12:46:19
причём тут выборка?
у него продукты из апи могут приехать
или из умл поднятся ?
зачем придумывать?

~/42/elrandir> ?ᅠ
11.09.2018
12:47:09
я про бересту, ты про лапти :3
Ладно, умываю руки, пойду дальше теребонькать барабанчики

Admin
ERROR: S client not available

Sergii
11.09.2018
12:47:21
нет

Darth
11.09.2018
12:47:38

Sergii
11.09.2018
12:47:52
человек спросил как отсортировать даннные из хеша
а ты начали выборки рисовать

Fedor
11.09.2018
12:48:11
я вообще не уверен что такая штука нужна )
https://github.com/jarmo/require_all
вон люди целый гем написали )))
а все что бы не следить за своимифайлами и классами

Igor
11.09.2018
12:52:09
мне казалось, что для этого ActiveSupport::Autoload изобрели уже

Google

Darth
11.09.2018
12:58:25

Fedor
11.09.2018
12:58:49
да и в синатре его нет )

Igor
11.09.2018
13:00:46
Если хочется угореть с загрузкой и получить ещё контейнеры и прочие прелести, то можно dry-system заюзать
Или наколхозить рекурсивный метод с Dir[], если ничего больше не нужно

Darth
11.09.2018
13:03:20

Igor
11.09.2018
13:04:37
Dir.glob(“some_path/**/*.rb”)?

Darth
11.09.2018
13:05:55
Да или Dir[File.join(File.dirname(__FILE__), 'app/workers/**', '*.rb')]

Denis
11.09.2018
13:14:26
Ребят кто-то работал с Pagy(https://github.com/ddnexus/pagy)?
Пытаюсь вызвать метод pagy_array
Но получаю undefined method 'pagy_array'
Добавил require 'pagy/extras/array' и проблемма решилась. Но мне кажется что pagy_array должен был работать и без require

Dmitriy
11.09.2018
13:47:41

Denis
11.09.2018
13:48:21
Не дочитал значит)

Andrey
11.09.2018
14:16:09
Всем привет
Подскажите плз по вебпаку, мб кто знает
let file = '../components/my-test.vue';
console.log(typeof file); -> String
console.log(typeof '../components/my-test.vue'); -> String
console.log('../components/my-test.vue' === file) -> true
components[name] = () => import('../components/my-test.vue'); <- работает
components[name] = () => import(file); <- не работает
WTF?

Артур
11.09.2018
14:17:53
Ему же надо как-то на этапе билда собрать разные чанки с тем что ты будешь импортить
как сделать чанк, если не знаешь какой код там будет?

Andrey
11.09.2018
14:18:52
Можно ли как-то это ограничение обойти?

Артур
11.09.2018
14:19:53
как? сгенерировать все возможные варианты ? :)

Andrey
11.09.2018
14:20:58
вебапкер разве не собирает отдельно по все файлы .vue ?
сами по себе, по отдельности
мб где-то он у меня недонастроен