
Silent Bob
24.06.2018
05:47:08
Подскажите, можно ли как то заставить Enumerable#next начинать сначала при достижении максимального элемента, а не выкидывать exception? (StopIteration: iteration reached an end). Т.е.:
[7] pry(main)> array = [1, 2, 3]
[8] pry(main)> enum = array.to_enum
=> #<Enumerator: ...>
[9] pry(main)> enum.next
=> 1
[10] pry(main)> enum.next
=> 2
[11] pry(main)> enum.next
=> 3
[12] pry(main)> a.next
StopIteration: iteration reached an end
from (pry):11:in `next'
Хм, ну в целом можно так, oneline: enum.next rescue (enum.rewind; enum.next)


ojab
24.06.2018
08:48:15
#cycle?

Google

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
24.06.2018
08:53:36
ребят, подскажите пожалуйста по капистрано + дотенв
в кап файле в самом верху есть строчки:
require 'dotenv'
Dotenv.load
почему Dotenv.load хочет аргумент (файл . env ?), аналогичный конфиг на другой машине работает на ура.
в гем файле есть:
gem 'dotenv'
gem 'dotenv-rails'
а даже если ему подсунуть аргумент то падает в ошибку
NoMethodError: undefined method `match' for nil:NilClass
полагаю проблема в dotenv
версии проверил в гемфайл.лок - одинаковые

Silent Bob
24.06.2018
08:57:51
#cycle?
точно, спасибо, вместо Array#to_emum надо вызвать Array#cycle. и тогда #next будет работать циклично

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
24.06.2018
09:45:51

Amir
25.06.2018
05:21:26
Ребята посоветуйте
Необходимо с ActiveAdmin запускать джобцы
Т.е. составить расписание как в кроне.
Должен хапусктаь по требованию прямо сейчас, или лэйтер по расписанию.
Интерфейс нужен в ActiveAdmin

Fedor
25.06.2018
05:27:56
А в чем проблема?
Пишешь в AA контроллер, который с данными из формы запускает джобу

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
25.06.2018
08:24:28
Ребзя
А случаем никто не наблюдал такого поведения, что Dotenv.load имеет разное поведение на разных машинах?
То есть на одной нормально загружает два файла, а другой нет?
Версии одинаковые и остальное все максимально одинаковое
Кажись разобрался, факап был в щатесавшемся пробеле лишнем..

Vasiliy
25.06.2018
11:27:55
как отловить ошибку в рспеке? чувствую что проблема с БД, явный ордер задавать не помогает

Google

Nikita
25.06.2018
11:30:16
Прай воткнуть проверить?
А что за ошибка? Можешь объяснить?

Vasiliy
25.06.2018
11:41:01
она то появляется то пропадает
там с данными из монги
добавляю связь - такая фигня

Иван
25.06.2018
11:50:00

Darth
25.06.2018
11:51:06
А в каком-то человеке, которые хуёво написал тест
он выполняется до твоего и портит твой
у меня тако было и виноватым оказался тимлид

Vasiliy
25.06.2018
11:51:48
ЦИТАТЫ ВЕЛИКИХ МУДРЫХ ПРОГЕРОВ

Oleg
25.06.2018
11:51:52

Vasiliy
25.06.2018
11:51:54
я писал этот тест ало)

Dmitry
25.06.2018
11:52:26
всё сходится))

Darth
25.06.2018
11:52:34

Vasiliy
25.06.2018
11:53:15
кого? тест? не бисектом, но в тех местах которые я писал когда монго внедрял

Darth
25.06.2018
11:53:23
Если ошибка в твоём тесте появлется ИНОГДА, то скорее всего хуевый тест не этот, а какой-то другой и пробуй бисект

Nikita
25.06.2018
11:53:44

Vasiliy
25.06.2018
11:54:51
ща, СЕКУРНО сделою)

Google

Nikita
25.06.2018
11:55:13
Понял

Vasiliy
25.06.2018
11:57:10
типа такого
deleting_session = create(... stopped_at: 6.days.ago ...)
exists_session = create(... stopped_at: 3.days.ago ...)
random_time = -> { Faker::Time.backward }
MongoClient.client[:reports].insert_many(10.times.map { attributes_for(:report, ..., deleting_session, created_at: random_time.call) })
MongoClient.client[:reports].insert_many(10.times.map { attributes_for(:report, ..., exists_session, created_at: random_time.call) })
subject.perform
expect(deleting_session.reports.count).to be 1
expect(exists_session.reports.count).to be 10
перформ должен подчистить репорты старше 5 дней

Darth
25.06.2018
11:57:36

Vasiliy
25.06.2018
11:58:00
и последняя строка как раз даёт то 10, то 12 то 20 в count

Nikita
25.06.2018
11:58:19
@Eugene_Shved усмирите подростка

Darth
25.06.2018
11:59:28

Nikita
25.06.2018
12:00:12
Надеюсь твой отец рассказал тебе что такое датабейз клинер и презерватив раньше, чем что такое рспек и секс

Vasiliy
25.06.2018
12:00:37
я чото подумал мб остаки от прошлого что остаётся, но в тесте же create, что должно новый ид сессии генерить

Nikita
25.06.2018
12:01:12

Vasiliy
25.06.2018
12:01:38
клиент есть, всё ок, вот ща биндингом встал, смотрю 12

Dmitry
25.06.2018
12:02:14
Ток хотел сказать за биндинг

Vasiliy
25.06.2018
12:03:12
во, хотя б этот и при одиночном запуске ловится

Igor
25.06.2018
12:11:34
Всем привет!!! Использую Devise + omniauth-google-oauth2, нужно юзеру при первой аутентификации(когда юзера нету в базе) выводить сообщение "Successfully authenticated from Google account. Please check your email address!!!" а когда он есть "Successfully authenticated from Google account", подскажите пожалуйста как это зделать или в какую сторону копать. Спасибо.

dima
25.06.2018
12:12:48

Igor
25.06.2018
12:13:08

dima
25.06.2018
12:13:50
ты пишешь что пользователя нету в базе?значит на этот email можно проверить его существование. И если такого мыла нету , то он первый раз аутифицировался

Nikita
25.06.2018
12:16:42

Vasiliy
25.06.2018
12:17:20
чото ща пускаю циклом тесты, на 10 раз вот один раз криво было
и ошибка пошла после добавления связи)

Igor
25.06.2018
12:20:31

Google

Vasiliy
25.06.2018
12:27:29
походу да, чёт в клинере, т.к. при запуске сессии уже есть
хотя где они могут создасться если я изолированно его пускаю ?

Nikita
25.06.2018
12:30:25

Vasiliy
25.06.2018
12:30:52
не, сидов нет

Admin
ERROR: S client not available

Vasiliy
25.06.2018
12:37:02
погоди, а сиды же только руками пускаются?

Nikita
25.06.2018
12:38:36
Да, но может у вас там где то какие то данные перед тестами создаются.

Vasiliy
25.06.2018
12:49:21
Не, я же уже и лог смотрю

Иван
25.06.2018
12:57:56

Vasiliy
25.06.2018
12:59:08
она не чистая, да, но там суть в том что сессия ж новая создаётся, т.е. ид новый у неё

Sergey
25.06.2018
13:03:54
Ребята, привет! Если кто-то регистрировался на курсы Rubizza, то сегодня мы запустили Coding Quest и есть ещё неделя до старта!
Тут ссылка на пост: https://vk.com/rubizza?w=wall-148949841_170
И если будут вопросы, то смело пишите в личку!

Андрей
25.06.2018
13:06:25

Sergey
25.06.2018
13:08:57
Там только бита была :)

Андрей
25.06.2018
13:09:39
где ж, еще ссылка на сайт (

Sergey
25.06.2018
13:14:58
Идея курсов это Лагерь Выживания. На курсы приходят ребята, которые готовы поменять 2 месяца своей жизни на оффер от местных компаний. Поэтому формат противоположен ситуации в белорусском IT. Никаких "кофе-печенек" - сбор каждый день в 7 утра. Каждую неделю нужно отчитваться по проекту. Кто не успевает, вылетает без объяснения причин.

Vasiliy
25.06.2018
13:16:24
кокой-то пиздец

Андрей
25.06.2018
13:16:50

Ilya
25.06.2018
13:17:23
сейчас бы молодняк приучать к дубинке и подъему в 6 утра. мне кажется это армией называется, только оттуда не выкидывают

Vasiliy
25.06.2018
13:31:10
Кстати да, надо клинер настраивать

Иван
25.06.2018
14:02:47

Google

Vasiliy
25.06.2018
14:06:34
не, там для монги клинера нет, вполне возможно когда схему грузило идшники скинулись, посмотрел, есть ссылки на иды которых не может быть

Alex
25.06.2018
14:32:47
Привет
Может кто-нибудь подсказать, как отрендерить excel файл на странице? По аналогии с этим: https://demo.vaadin.com/spreadsheet

Alexey
25.06.2018
15:54:28
слегка нубский вопрос, как прописывать миграцию если, в основном, нужно брать адрес объекта из таблицы Строения при выводе таблицы Договора
rails generate migration add_building_reference_to_agreements building:references
-
кажется верна, но это же аналог
rails g migration AddBuildingToAgreement building:belongs_to
, а у меня модель Building has_many :agreements?

Иван
25.06.2018
16:11:26
если у договра может быть только 1 строение то все ок. building:belongs_to тебе создаст внешний ключ building_id в таблице agreements

Alexey
25.06.2018
16:20:08
я так сделаю
rails generate migration add_building_reference_to_agreements building_id:references
и погоняю в консоли (нет, отдельная таблица строений с их хар-ками. Связь: строение 1-М договора )

Иван
25.06.2018
16:26:36
building:references и building:belongs_to это одно и то же

Alexey
25.06.2018
16:26:47
Интересно, если бы column address из таблицы [Buildings] был бы натуральным-primary-key то rails g migration add_building_reference_to_agreements address:references создало бы тоже поле типа string в таблице [Agreements]?

Иван
25.06.2018
16:33:29

Alexey
25.06.2018
20:43:06
Иван, спасибо

Amir
25.06.2018
23:22:30

Alexey
26.06.2018
07:09:54
Ребзя rails db:migrate —trace не показывает что происходит на уровне БД. Что за ключ передать, чтоб увидеть ALTER TABLE ... ?
консоль помстгреса тоже висит, но она, по-моему показывет только через раз

Andiskiy
26.06.2018
07:13:59
есть две выборки из бд, одна может быть короче другой. я хочу отсортировать(ту которая короче) на основе первого. на примере просто массива:
а = [19, 4, 2, 9]
b = [9, 2, 4]
после операций, я бы хотел получить такой массив А = [9, 2, 4 19]
подскажите пожалуйста, как можно было бы это сделать? rails 4.1.16 ruby 2.3.1

Vyacheslav
26.06.2018
07:16:04
есть две выборки из бд, одна может быть короче другой. я хочу отсортировать(ту которая короче) на основе первого. на примере просто массива:
а = [19, 4, 2, 9]
b = [9, 2, 4]
после операций, я бы хотел получить такой массив А = [9, 2, 4 19]
подскажите пожалуйста, как можно было бы это сделать? rails 4.1.16 ruby 2.3.1
а если это сделать на уровне БД?

Andiskiy
26.06.2018
07:17:04