@rubylang

Страница 580 из 1684
Artur
05.11.2016
19:39:05
Alex
05.11.2016
19:39:17
Менеджерам это скажи ?

Artur
05.11.2016
19:40:13
зочем? У менеджера другая работа.

Пусть менеджерит и в процессы разработки не лезет

Google
Alex
05.11.2016
19:48:37
а ПМ не менеджер шоли?

Александр
05.11.2016
20:20:53
почему?

Если у тебя будет две фичи в одном коммите, то при возникновении баги при реализации одной фичи, эта бага будет блочить релиз другой фичи

Ну в идеале у тебя в мастер ветке один к одному должно быть (одна фича один коммит, один коммит одна фича). в ветке самой фичи может быть неколько коммитов

ИМХО

При "залитии" ветки в местер коммиты должны объединяться в один

ИМХО

Alex
05.11.2016
20:31:39
и чо, будут у тебя километровые коммиты от которых толку нету?

Artur
05.11.2016
20:31:47
При "залитии" ветки в местер коммиты должны объединяться в один
ну токое. Иногда порождает трудности. Скажем, ты сделал фичу, она висит, ждет аппрува от команды. Следующая фича базируется на предыдущей, ты ее делаешь, забываешь сделать черри пик в другую ветку, чтобы избежать еще одной пачки уже висящих на аппруве коммитов, кроме того, надо чтобы тесты прошли и ты не можешь выдернуть код из контекста.

Что делать?

Потом твою первую фичу мерджат

Но ты не сможешь смержить вторую, пушто у тебя конфликты образуются

В результате тебе нужно будет пикать коммиты из второй фичи во временную ветку, сбросить ветку, ребейснуть, вернуть коммиты и потом форспушить

Google
Artur
05.11.2016
20:33:30
короч

гемор сплошной

Александр
05.11.2016
20:36:39
Ну для этого есть планирование. НО всегда есть исключения. Если это становится правилом, то стоит пересмотреть рабочий процесс.

Alex
05.11.2016
20:44:00
Ну да, конечно.

В идеальном мире который не существует )

Мое лицо когда я вижу перфекциониста (сам сначала был)

jdggd
05.11.2016
20:52:22
больньіе ублюдки

ⰿⰰⰾⱏ
05.11.2016
21:07:27
Alex
05.11.2016
21:07:47
Улучшизм збс, а вот перебарщивать не стоит

Мне кажется как раз тут уже немного перегибают.

Александр
05.11.2016
21:14:02
Roman
05.11.2016
22:01:39
Один коммит - одна таска. Если таска большая - несколько коммитов, но чтобы они тогда по отдельности не ломали систему (таска на несколько пунктов - на каждый пункт по коммиту) Знаю людей которые делают за день 1-2 коммита да и те с подписью "need home" или "need merge". Фу

Petr
05.11.2016
22:15:55
что такое "таска"?

Roman
05.11.2016
22:21:31
Задание

Фича или исправление бага

Andrey
05.11.2016
22:47:49
Теги же есть еще для больших фич и релизов

Petr
05.11.2016
22:51:21
Спасибо, сам учуся на фронта, работаю с коллегой в свободное время... Так вот, ходил он на работы устраиваться, так там девайс + канканкан или пандит, + куча старого бэка... Это сейчас реально на рынке такая штука, что конторы гемы юзают монстроузные? (спрашиваю, т.к. написали свою тему авторизации и аутентификации..., которая гибкая и простая как 2 пальца)

кроме кофе файлов)

вот не знаю, наш код:

# уровень доступа def access_level_control current_user if CONFIG[:access_levels][controller_name.to_sym].present? access_node = CONFIG[:access_levels][controller_name.to_sym].select{|level, actions| actions.include?(action_name)} # концентрация мозга и волшебство Ruby, это прекрасно .) if access_node.any? access_granted = @current_user && CONFIG[:access_aliases][@current_user.access_level.to_sym] >= CONFIG[:access_aliases][access_node.keys.first.to_sym] # сюда вложено многое при Идеальной структуре конфигурационнного YAML! if /edit/ =~ action_name # доп проверка на случай лайфхакеров желающих заняться редактированием не своих объектов, допускается редактирование всеми начиная с редактора .) object = controller_name.classify.constantize.find(params[:id]) access_granted = edit_checkout object end redirect_to "/401.html" unless access_granted end end end

Google
kapkapbopoh
06.11.2016
03:40:38
ну если разрбрался, объясни что происходит например вот тут: class Foo def bar :bar end end a = Foo.new def a.bar class << self def bar :foo end end end puts a.bar puts a.bar
1) вызывается метод bar синглтон класса объекта a, который добавляет в синглтон класс класса Foo метод bar(:foo) и возвращает метод bar(:foo) 2) вызывается метод bar(:foo) синглтон класса класса Foo, который возвращает :foo

johnny
06.11.2016
05:03:18
Подскажите пожалуйста хороший висивиг редактор для рельсов

Zulkar
06.11.2016
05:19:27
CKeditor

Vitaliy
06.11.2016
05:52:59
+ лучше него не нашел

johnny
06.11.2016
06:16:14
CKeditor
спасибо, поставил. а в нём нельзя загружать изображения на сервер сразу? и просто файлы цеплять

Artur
06.11.2016
06:39:05
Там возвращается bar пушто мы перезаписываем метод методом, а при создании метода у нас возвращается его имя. Можешь там в первом bar написать хуй и все равно вернётся bar

johnny
06.11.2016
07:24:23
Можно
проковырялся с этим ckeditor'ом полтора часа, никак не хочет дружить с paperclip'ом, а сам не загружает картинки. в итоге поставил tinymce и подружил с paperclip

Nork
06.11.2016
07:30:51
Товарищи, посоветуйте как лучше организовать процесс бэкапа БД на проде? Интересует автобэкап / синхронизация ремоут -> локал (capistrano-db-tasks ?) и вообще что лучше почитат ьна э

* на эту тему?

Alex
06.11.2016
08:40:47
Сам же знаешь что программеры ленивые

Artur
06.11.2016
08:41:18
Alex
06.11.2016
08:41:27
Кстати, Антон это вообще нормально так сообщения об ошибке матчера тестировать? context "error messages" do it "for default usage when expectation didn't met" do expect do expect { }.to send_sms end.to raise_error( RSpec::Expectations::ExpectationNotMetError, "Blah" ) end end

Я просто хочу кастомные сообщения об ошибках.

Антон
06.11.2016
08:41:56
В идеальном мире который не существует )
последний раз черипикал год назад, процесс можно выстроить, это более чем реально

Google
Alex
06.11.2016
08:42:28
Согласен, но тут нужен сильный техлид который не всегда есть ?

Alex
06.11.2016
08:45:55
код очень плохой
Про мой код скажи чонить

Admin
ERROR: S client not available

Антон
06.11.2016
08:46:47
да, но я бы не стал использовать end.to люди ругаются

Alex
06.11.2016
08:47:25
Там иначе нечитаемое месиво получается (

Антон
06.11.2016
08:47:30
а стоп

Alex
06.11.2016
08:47:30
блок в блоке это треш

Антон
06.11.2016
08:47:53
ты рспеком тестируешь вызвал ли рспек ошибку

Alex
06.11.2016
08:48:11
ты рспеком тестируешь вызвал ли рспек ошибку
Я рспеком тестирую выдает ли мой матчет требуемое сообщение или нет

я пишу кастомный матчер

хочу проверить что он выдает именно то сообщение об ошибке которое я ожидаю.

Антон
06.11.2016
08:48:31
тогда норм

Alex
06.11.2016
08:48:45
?

Антон
06.11.2016
08:49:09
может какие-то другие техники есть, сам не тестил рспеком рспек но мне видится вполне допустимым

Artur
06.11.2016
08:50:02
Смищно

Alex
06.11.2016
08:50:54
?

может какие-то другие техники есть, сам не тестил рспеком рспек но мне видится вполне допустимым
shoulda также тестит: https://github.com/thoughtbot/shoulda-matchers/blob/d1e9a41fca001b6d89455aff49f1f03ac272ee08/spec/support/unit/matchers/fail_with_message_matcher.rb

Антон
06.11.2016
08:53:50
тем более

Google
Антон
06.11.2016
09:01:38
а такого матчера разве нет еще?

Alex
06.11.2016
09:01:51
Я же говорил что у меня гем еще не production grade, а только в разработке.

Антон
06.11.2016
09:02:29
а готовые матчеры ты не хочешь использовать?

Alex
06.11.2016
09:02:43
всмысле готовые метчеры?

Очень удобно как по мне так тестить отправку смсок.

Антон
06.11.2016
09:04:01
какаято фигня, извините

Alex
06.11.2016
09:04:46
более простой пример expect { MyRegistrationService.run }.to send_sms(to: "number", text: "your registration code is blah")

Антон
06.11.2016
09:05:50
expect(Service).to receive(som_method_thats_sends_sms).with(expected_hash_on_success)

и никакие больше не нужны матчеры

Alex
06.11.2016
09:06:25
мой вариант короче и позволяет замокать сразу response в самом сервисе.

Антон
06.11.2016
09:06:42
замокай в начале спека

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