
ⰿⰰⰾⱏ
09.11.2016
11:31:25
а кто факты заказывал?)))

Viktor
09.11.2016
11:31:26
@Qew7777

Максим
09.11.2016
11:31:37
чего
ты кто

Google

Artur
09.11.2016
11:31:42
$10000 и можешь его забирать

Максим
09.11.2016
11:31:49
не не не
ребят я свой

Антон
09.11.2016
11:31:53
385 слишком много, становится душно

Viktor
09.11.2016
11:32:04
Свой среди пхпэшников

Artur
09.11.2016
11:32:09

Максим
09.11.2016
11:36:59
тест

trickster
09.11.2016
11:37:17
385 человек о_О

Скалли
09.11.2016
11:37:49
все Максы оживились

Michael
09.11.2016
11:44:29
я его прикрутил, все замечательно, но при запуске тестов тест говорит что ничего не создано ((

Антон
09.11.2016
11:49:41
https://travis-ci.org/grosser/parallel/builds/173171069
ну он какбы не очень рабочий судя по тестам

Google

Michael
09.11.2016
11:56:39
я так думаю там скорее всего из-за того, что транзакции в тестах, данные ведь реально не создаются, тест в транзакцию оборачивается, а другие процессы не имеют доступ к данным

Антон
09.11.2016
11:57:31
а я понял
ну значит в тесте нужно выполнять без parallels
изолировать

Michael
09.11.2016
11:59:19
не совсем представляю как это сделать
в сервисе
def create_flights
Parallel.map(new_flights_attrs, in_threads: 3) do |flight_attr|
Flight.create(flight_attr)
end
end

Антон
09.11.2016
12:00:15
ну есть сервис который аргументом принимает что-то и делает что-то
вот сервис нужно тестировать
а то что он инициируется в parallels боюсь проестировать будет проблематично
дочтаточно это протестировать Flight.create(flight_attr)

Michael
09.11.2016
12:02:18
а подмену то я как сделаю?

Антон
09.11.2016
12:02:31
не понял

Michael
09.11.2016
12:03:34
в тесте before { Schedule::Updater.new('U6') }
class Schedule::Updater
...
def create_flights
Parallel.map(new_flights_attrs, in_threads: 3) do |flight_attr|
Flight.create(flight_attr)
end
end
...
end

Антон
09.11.2016
12:04:54
эх.. ну надо все смотреть
я так не скажу
сделай гист

Michael
09.11.2016
12:05:05
как я тест заставлю выполнить вместо create_flights ->Flight.create(new_flights_attrs)
сек
сам код сильно не критикуй это грубо говоря первое приближение

France
09.11.2016
12:31:41
как создать проект rails чтоб типа все вьюхи дефолтньіе сразу бьіли не .erb а .haml ?
и вопше можно ли такое ?
может ключ есть какой))

Google

Антон
09.11.2016
12:32:47
а там одна вьюха же в новом проекте
а так вообще ставишь haml-rails и все вьюхи новосозданные будут хамл

France
09.11.2016
12:33:32
лан

Alex
09.11.2016
12:33:50

France
09.11.2016
12:34:02
ума не хватит)

Alex
09.11.2016
12:34:10
чо там уметь то?

Michael
09.11.2016
12:34:23
на самом деле там ума вообще не нужно

Alex
09.11.2016
12:34:33
https://github.com/Fedcomp/rails_template/blob/master/default/template.rb
Вот пример моего месива.

Антон
09.11.2016
12:35:50
извини пожалуйста

Michael
09.11.2016
12:36:52

Alex
09.11.2016
12:37:16

Антон
09.11.2016
12:38:07
я начал бы с def self.process(airline)
а вот он бы вызывал Schedule::Updater.new(airline).process
чтобы не нарушать инициализацию
когда инициализация может вызвать ошибку - больно и не приятно
а в процессе исключение return unless @recent_schedule

France
09.11.2016
12:40:31
спс))
Кроме того как это исправить.
упс
не то

Google

France
09.11.2016
12:40:46
спс)))
https://github.com/Fedcomp/rails_template/blob/master/default/template.rb
Вот пример моего месива.

Alex
09.11.2016
12:41:14
Под себя допили, темплейтов идеальных не бывает.

France
09.11.2016
12:42:48
так и зделаю)

Антон
09.11.2016
12:45:22
не вопрос, я все понимаю)))
во, вроде понял
Flight.create(new_flights_attrs) которое закоменчено - переписать в
надо Flight.bulk_create(new_flights_attrs)
а в спеке проверять что вызывается bulk_create с правильными аттрибутами
а параллельный криейт просто не тестировать
тестировать индивидуальный криейт
а в спеке можно переписать метод, ну вроде как забить на то что у тебя он считается параллельно
в начале спека переопределить
class Schedule::Updater < Schedule::Base
def create_flights
Flight.bulk_create(flight_attr)
end
мааахонький технический долг
ты вроде как веришь что параллельс делает все правильно
ну тоесть, если ты будешь рефакторить то переопределять нужно будет bukl_create
если не будешь рефакторить переопределять нужно create_flights

Admin
ERROR: S client not available

Michael
09.11.2016
12:47:15
по поводу
мааахонький технический долг
ты вроде как веришь что параллельс делает все правильно
уже не совсем
сижу вот ищу другое решение


Антон
09.11.2016
12:48:47
если решение работает не стоит искать другое
в общем: в параллелизмом в рспеке какие-то траблы, не знаю как решить - не хватает мозгов
поэтому, я подменяю реальный код, тем что реально хочу протестировать без параллельности
это не идеальный выход
перфекционисты плачут
перфекцихуисты - делают дело

Mikhail
09.11.2016
12:51:11

Michael
09.11.2016
12:51:59
Антон с переопределение метода все получилось
Антон сразу перед глазами картинка стала, а что так можно было
Антон спасибо

Антон
09.11.2016
12:52:54
я так код пишу
потом просто переношу класс из спека в файл

Michael
09.11.2016
12:54:11

Антон
09.11.2016
12:55:49
у меня ощущение что плохому научил :(

Google

Антон
09.11.2016
12:56:05
дальше будет SQL во вьюшках

Michael
09.11.2016
12:56:40
да нет же хорошая идея, если именно потом переносить код в его место, а не постоянно переопределять методы
именно при написании спека и кода на него это очень интересно

johnny
09.11.2016
15:26:00
Ребят, у меня проблемка, аналогичная той что по ссылке, но только удалять comment нужно с урла /posts/:id, а не /post/:id/comments/:id. Хелп плиз!
http://stackoverflow.com/questions/1317448/how-to-create-a-delete-link-for-a-related-object-in-ruby-on-rails
И если кто знает годную статью про эти самые nested objects (или как правильно?) - дайте ссылочку пожалуйста

I
09.11.2016
15:28:34
а чем официальная документация не устроила?

Vitaly
09.11.2016
15:28:37
может как то так
match '/posts/:id' => 'comments#destroy', as: :comment, via: :delete

I
09.11.2016
15:29:16
что в routes у них?

Vitaly
09.11.2016
15:31:41
соответственно линк будет
<%= link_to 'Destroy', comment_path(comment),
data: {:confirm => 'Are you sure?'}, :method => :delete %>
кстати as: :comment_path без _path,
то есть просто as: :comment

Антон
09.11.2016
15:50:07
я не понял
камент удаляется по ссылка DELTELEcommets/:id DELETEposts/id/comments/id это стандарт
почему posts/id?

Alex
09.11.2016
16:12:17
Ща пробую обучить неофита php. Он короч уже умеет кодить на языке где не классов. Сам копается по справке сам все ищет если бы не одно но.
Он открывает справку по классам, самое начало и ожидает увидеть самый простой код. А там уже используются конструкции которые объясняются в следующих главах. Это все что нужно знать о php.

I
09.11.2016
16:13:01
Э, а чему именно учишь?)

Alex
09.11.2016
16:13:42
да просто объясняю языком попроще чем в справке.
Так то он сам копается, просто некоторые моменты проще сразу объяснить.
Чтобы руби потом сказкой был.