@proRuby

Страница 705 из 1594
Anatoly
07.09.2017
13:56:47
Всем привет. В чем может быть проблема, тесты: subject { instance.result } it { expect(subject.size).to eq(Fragment.count) } Если в методе result поставить дебаггер и просто продолжить его - то все ок. Если поставить дебаггер в it и выполнить expect - то все ок. Но если оставить в таком виде, то subject.size всегда возвращает 0. Само содержание subject - запрос в эластик: def result @result ||= Fragment.search(es_query, { scroll: '15m', size: 30 }) end

Vladimir
07.09.2017
13:58:19
скорее всего эластик не успел доиндексировать

а дебагер просто дает ему время это сделать

@FedorKoshel знает, как решить =)

Google
Anatoly
07.09.2017
13:58:58
Разве эластик асинхронно индексирует?

Fedor
07.09.2017
13:58:58
а

Fedor
07.09.2017
13:59:08
да, эластик асинхронно работает

если добавить Model.import refresh: true то добавится синхронность

но это костыль

который добавляется вместе с срефрешем индекса

но в тестах работает

Anatoly
07.09.2017
14:01:27
А по-хорошему как в тестах это решается?

Fedor
07.09.2017
14:01:38
я так решил )

можно sleep воткнуть

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-refresh.html

Vladimir
07.09.2017
14:02:25
мы в итоге к такому контексту пришли: shared_context 'cleanup elastic' do |*classes| before do # workaround https://github.com/elastic/elasticsearch-rails/issues/571 begin classes.first.__elasticsearch__.delete_index! rescue => e raise e unless e.class.to_s =~ /NotFound/ end classes.first.__elasticsearch__.create_index! classes.each do |klass| klass.import refresh: true end end end

Google
Anatoly
07.09.2017
14:03:40
Понял, спасибо, рефреша хватит, да

Vladimir
07.09.2017
14:06:12
потому что я не раскурил эту хитрую магию с метаданными, которые инклудят код =)

ты же про метаданные рспека?

Vladimir
07.09.2017
14:06:58
давай экзампл =)

Alex
07.09.2017
14:07:57
# Create indexes for all elastic searchable models config.before :each, elasticsearch: true do next if RSpec.current_example.metadata[:skip_database].present? begin Model.__elasticsearch__.create_index! force: true Model.__elasticsearch__.refresh_index! rescue => Elasticsearch::Transport::Transport::Errors::NotFound # This kills "Index does not exist" errors being written to console rescue => e STDERR.puts "There was an error creating the elasticsearch index for Model: #{e.inspect}" end end

Я не очень понимаю что у нас под капотом юзается, выглядит как то так.

Главное принцип.

Fedor
07.09.2017
14:08:16
Понял, спасибо, рефреша хватит, да
я там ссылку кинул выше в 5.5 появилось refresh=wait_for. Но не уверен, что оно чем то отличатеся от старого refresh=true )

Vladimir
07.09.2017
14:19:48
# Create indexes for all elastic searchable models config.before :each, elasticsearch: true do next if RSpec.current_example.metadata[:skip_database].present? begin Model.__elasticsearch__.create_index! force: true Model.__elasticsearch__.refresh_index! rescue => Elasticsearch::Transport::Transport::Errors::NotFound # This kills "Index does not exist" errors being written to console rescue => e STDERR.puts "There was an error creating the elasticsearch index for Model: #{e.inspect}" end end
записал себе, как руки дойдут до этого еще раз - попробую =) Забавно, все делают одно и то же: вы тоже отлавливаете эксепшен о создании, только видимо у вас версия гема эластика меньше, т.к. последний сам его ловит, ругается в stderr и едет дальше, у нас поэтому руками делет обернут, вместо force: true

Victor
07.09.2017
14:26:56
require "twitter_cldr"

rekero
07.09.2017
14:33:22
можно sleep воткнуть
не надо, лучше через Chewy.client.indices.refresh

Anton
07.09.2017
14:50:44
дискасс https://twitter.com/dailyrubytip/status/905729685937684480

Google
Gleb
07.09.2017
14:56:53
Хотел бомбануть, но прочитал. Оказалось доводы в пользу вполне адекватные, хоть и высосаны из пальца... Не поспорить короч

Anton
07.09.2017
14:57:40
а у нас тут корпаративный спонсор появился https://twitter.com/hanamirb/status/905803117672923137

Vlad
07.09.2017
15:02:50
Ребят, если у меня есть хэлпэр от гема который видно только в контроллерах и вьюхах но мне нужно использовать его в декораторах каким образом его наилучше туда притащить?

Vlad
07.09.2017
15:11:23
Это бест практис?)

Gleb
07.09.2017
15:16:08
ActionController::Base.helpers

Nikolay
07.09.2017
15:16:28
надо смотреть насколько убог тот модуль

если там только твой хелпер - то сойдет

а так Gleb вариант тоже норм, можно его юзать как доступ к хелперам

rekero
07.09.2017
15:24:38
а так Gleb вариант тоже норм, можно его юзать как доступ к хелперам
там даже можно конкретный контроллер указывать

Vlad
07.09.2017
15:36:48
Ну я создал бейс декоратор в котором метод зовет ActionController::Base.helpers

Alex
07.09.2017
16:49:50
?
...а можно ли мне тоже книжечку по trailblazer ? люблю книжечки) indigoshw@gmail.com спасибо!

Alexander
07.09.2017
17:26:04
ну че?

тут вроде спор какой то был. кто выйграл?

фп vs ооп? или о чем то другом?

Anton
07.09.2017
17:27:25
че дают?
деньги, что еще

будем тратить на продукт

Google
Anton
07.09.2017
17:27:46
(всякий мерч, крутые компании делать и так далее)

Nikolay
07.09.2017
17:28:12
Го наклеички с лого на рк раздавать)

Я б наклеил

Anton
07.09.2017
17:28:26
Го наклеички с лого на рк раздавать)
найди меня на рельсоклабе

или луку

Admin
ERROR: S client not available

Nikolay
07.09.2017
17:29:08
найди меня на рельсоклабе
я буду в красном платье

Anton
07.09.2017
17:29:14
договорились!

у меня будет роза в волосах

Nikolay
07.09.2017
17:29:26
как в матрице

Anton
07.09.2017
17:30:54
или так, да

Nikolay
07.09.2017
17:31:41
у марсиан новые наклейки тож прикольные, вроде аарону подарили не так давно

wi11son
07.09.2017
17:46:27
йо, товарищи

кому стикер saintprug'a ?

буду на railsclub'e



вот такой, но теперь на виниле, нормально вырезанный )

Alex
07.09.2017
17:48:36
да, крутой стикер

Alexander
07.09.2017
17:49:34
это гранат какой то а не рубин

Google
Andrey
07.09.2017
17:58:41
кому стикер saintprug'a ?
очень крутой, я бы взял на макбучек

wi11son
07.09.2017
18:00:41
Anton
07.09.2017
18:03:19
@davydovanton мне кажется твоя удаленная работа - это в ТГ чатик постоянно писать))
НЕТ, Я РАБОТАЮ ЕЩЕ АКТИВНО https://twitter.com/anton_davydov/status/905853610042544129

лол

Ivan
07.09.2017
18:10:30
@hiddman — дайджест новостей и интересной информации по темной стороне интернета (darknet'a). https://t.me/hiddman

Danny
07.09.2017
18:18:14
Подскажите почему не работает моя логика) "active" if current_page?(full_path) || request.path.to_s.include?(path.to_s)не работает та проверка где после OR

(кусок хелпера)

Alexander
07.09.2017
18:19:19
request.path.to_s.include?(path.to_s) а вот это вообще сработает?

тут точно 2 разных path?

Danny
07.09.2017
18:21:57
а типа, path зарезирвированое слово?

в аргументе попробывать другое заюзать?

да, 2 разных)

Alexander
07.09.2017
18:22:47
нет, просто странно как то. поставь логи туда

Danny
07.09.2017
18:23:13


Alexander
07.09.2017
18:31:38
https://apidock.com/rails/ActionDispatch/Request/fullpath

а вообще что означает cp ? child porn?

Страница 705 из 1594