@rubylang

Страница 1550 из 1684
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
а даже если ему подсунуть аргумент то падает в ошибку NoMethodError: undefined method `match' for nil:NilClass полагаю проблема в dotenv
короче решение: 1. плевать, что ругается на load - он все-равно грузит файл 2. юзайте трасировку для обнаружения ошибки 3. проверяйте блэт что бы все правильно было в файле .env

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
Если ошибка в твоём тесте появлется ИНОГДА, то скорее всего хуевый тест не этот, а какой-то другой и пробуй бисект

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
@Eugene_Shved усмирите подростка
после того, как твой отец научит тебя уважению, а ты узнаешь что рспек не всё чистит

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

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

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:13:50
ты пишешь что пользователя нету в базе?значит на этот email можно проверить его существование. И если такого мыла нету , то он первый раз аутифицировался

Nikita
25.06.2018
12:16:42
во, хотя б этот и при одиночном запуске ловится
Были пару раз такие проблемы, и всегда проблема была в неправильной стратегии клинера

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

и ошибка пошла после добавления связи)

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 И если будут вопросы, то смело пишите в личку!

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
кокой-то пиздец

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
Интересно, если бы column address из таблицы [Buildings] был бы натуральным-primary-key то rails g migration add_building_reference_to_agreements address:references создало бы тоже поле типа string в таблице [Agreements]?
по идее нет, но через вот это можно было бы настроить как ты хочешь - http://edgeapi.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_reference

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

Amir
25.06.2018
23:22:30
Пишешь в AA контроллер, который с данными из формы запускает джобу
Это понятно Но мне надо просто заполнить расписание, каждый 2 день в час ночи запустить таск или джобс Настроить хочу не в коде скажем whenever, на форме ActiveAdmin Т.е. получается из рельца надо создавать задачи крона Просто свой велосипед не хочу изобретать :)

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

Andiskiy
26.06.2018
07:17:04

Страница 1550 из 1684