@proRuby

Страница 1140 из 1594
Alex
26.03.2018
09:43:51
у меня что то типа evaluation версии было, он там для пхп скрипта показывал какие запросы были

Vadim
26.03.2018
10:47:25
Кто то писал скриптики с помощью Watir'a чтобы делать какие то действия на сайте?)

Максим
26.03.2018
15:11:52
чё за хуйня

Google
Максим
26.03.2018
15:11:52
id = contact['id'].to_i cntct.class == Email ? (flat.contacts.find(id: id).emails << cntct) : (flat.contacts.find(id: id).phone_numbers << cntct)

Couldn't find Contact with 'id'={:id=>23882}

как так

почему айди не интеджер выходит

я же напрямую его в интеджер перевожу и проверял что он переводится в него

почему он видит переменную как хеш а не как интеджер

несмотря на то что я напрямую указал ему что это интеджер

Roman
26.03.2018
15:15:44
в find надо просто айди передавать

find(id)

@Qew7777 ^^

Максим
26.03.2018
15:16:45
реал

спасибо

уже подсказали

Google
Максим
26.03.2018
15:16:58
так тупо ошибся

Roman
26.03.2018
15:17:11
бывает

но вообще код немного ужасен

Максим
26.03.2018
15:21:33
подскажешь как лучше?

у нас просто все дедлайны просраны

пишу уже лишь бы работало даже не думая

Roman
26.03.2018
15:52:51
подскажешь как лучше?
contact_to_update = flat.contacts.find(id) case cntct when Email contact_to_update.emails << cntct when Phone # ну это я так думаю, что тут у вас Phone contact_to_update.phone_numbers << cntct else raise ArgumentError, "contact of type #{cntct.class} is not supported" end как-то так

хотя все равно вопросы к количеству переменных по типу "контакт" в коде

но тот код, что я написал, хотя бы поможет в будущем не нарушать open/close principle

Alena
26.03.2018
15:56:27
Привет)) ребята что это такое не пойму?

Roman
26.03.2018
15:57:16
Гитхаб о тебе заботится

Roman
26.03.2018
15:57:33
гитхаб предупреждает, что у тебя одна из зависимостей имеет известную уязвимость

Roman
26.03.2018
15:59:21
спасибо
хотя вообще-вообще, там должен быть STI и полиморфная ассоциация, но не думаю, что это вам скоуп попадет, с учетом прошедшего дедлайна

Максим
26.03.2018
16:00:07
sti?

Roman
26.03.2018
16:00:09
то есть ты просто пишешь contact_to_update.entry << cntct а оно само смотрит какого оно типа

single table inheritance

Максим
26.03.2018
16:00:19
полиморфная ассоциация "контакт"?

Roman
26.03.2018
16:00:19
но это не обязательно

Google
Roman
26.03.2018
16:00:33
да, у тебя будет contact_type - phone email blablabla

и contact_id

Максим
26.03.2018
16:00:43
просто у них же поля разные

типа у одного номер телефона и имя

у другой например просто мыло

Roman
26.03.2018
16:01:05
да, STI не совсем

Roman
26.03.2018
16:02:14
И что с этим делать? Чем она уязвима ?
ниже надо смотреть, оно указывает, какой именно гем или либа уязвима

полиморфная ассоциация "контакт"?
http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

Alena
26.03.2018
16:03:54
Спасибо)

Roman
26.03.2018
16:04:11
полиморфная ассоциация "контакт"?
но сейчас не стоит заморачиваться. у вас так уже работает, пусть работает

Roman
26.03.2018
16:48:40
Обычно sti ни к чему хорошему не приводит, и его в итоге выпиливают :(

Alex
26.03.2018
16:51:14
Всем привет! Кто-нибудь использовал discourse? Я правильно понимаю, что в исходники лучше никаких правок не вносить, так как при обновлении все это затрется?

Alex
26.03.2018
16:55:55
да

Alex
26.03.2018
16:58:22
а плагинами там только фронт можно разрулить?

Roman
26.03.2018
17:04:28
++++
значит оно изначально не было нужно. STI - хороший способ избавиться от if-конструкций. просто некоторые этим пользуются неправильно

wi11son
26.03.2018
17:08:55
Гайз, можно рубиконфу порекламить?

Anton
26.03.2018
17:09:29
?

Google
Roman
26.03.2018
17:09:30
Это как же с sti от ифов можно избавиться?
например, если есть у тебя разные типы чего-то, что рендерится по-разному выдуманный пример: напротив телефонов надо рисовать иконку домика или мобилы, в зависимости от того, городской телефон или мобильный вместо def phone_icon if phone_type == :landline 'house_icon.png' else 'mobile_phone_icon.png' end end делается class Landline < Phone def icon 'house_icon.png' end end class Mobile < Phone def icon 'mobile_phone_icon.png' end end

wi11son
26.03.2018
17:09:54
https://www.meetup.com/ru-RU/saintprug/events/249120635/

9е июня, СПб

Roman
26.03.2018
17:12:12
они будут в фреймворке, а не в твоем коде

Roman
26.03.2018
17:19:00
они будут в фреймворке, а не в твоем коде
Вместо просто символов буду объекты вызываться, в твоем примере ничего не поменялось, либо я чего-то не догоняю

Roman
26.03.2018
17:20:25
Вместо просто символов буду объекты вызываться, в твоем примере ничего не поменялось, либо я чего-то не догоняю
у тебя вместо одного класса Phone, в котором ты везде будешь вызывать ифы будет 2 класса, в которых никаких ифов не будет

или я не понял, о чем ты =)

Roman
26.03.2018
17:22:44
или я не понял, о чем ты =)
Допустим, твой метод, который мы рефакторим, вызывается в контроллере, как мы в нем избавимся от ифов с sti?

Roman
26.03.2018
17:23:28
аа, тут ActiveRecord поможет phone = Phone.find(params[:id]) вернет тебе нужный класс искаропке

Roman
26.03.2018
17:25:07
то есть по сути да, иф переезжает в код activerecord

но тебе уже на этом этапе все равно

Roman
26.03.2018
17:26:08
но тебе уже на этом этапе все равно
Ну в таком случае да, sti упростит код

Roman
26.03.2018
17:26:22
главное не упарываться

чтобы не было 1 общее поле и 18 необщих

Andrey
27.03.2018
05:47:38
Привет! Как можно заставить простое веб-приложение на синатре (на самом деле не важно на чём) слушать два интерфейса и/или порта ? Что я хочу: 10.10.10.10:1234/foo => 200 OK .. blablabla 11.11.11.11:4321/foo => 200 OK .. foofoofoo nginx (и прочие не рубишные веб-серверы) заюзать не могу т.к. приложуха будет запускаться в облаке а-ля bluemix

Я пытался извернуться так http://paste.org.ru/?n7s2gz , слушать порты оно научилось, но отвечать на запросы не стало )))

видимо, мне нужно взглянуть на Rack и не мучить бедного Синатру

Вот так даже работает http://paste.org.ru/?k4j697 Но чувствую я, что есть более элегантный способ сделать это.

Google
Dima
27.03.2018
06:56:32
А вот например рубрика Benelovent Ruby я тут игрался на рабочем месте в руби, и получился у меня infinite loop или dead loop. Кто знает как из него выйти? a = 1 b = ->{p "this is #{a}"; a+=1; p "x" if true; return if true} loop(&b) p a

Oleg
27.03.2018
07:01:02
Там выше просили чтобы чисто на рубях

Мол некуда втыкать

Но вообще да, адекватным способом конечно же будет через сервер спереди, который будет всё что надо проксировать, лимитировать и тп ибо руби это приложение в первую очередь

Также с отдачей статики

Но для маленьких приложений это не нужно, с другой стороные если надо 2 айпи - что-то не маленькое значит

Oleg
27.03.2018
07:14:14
Надо пример тогда

Под маленьким ещё можно подразумевать стандартное, да

Это может быть скрипт на полтора гема, но с много портами, да, тогда всё ок, оно маленькое, но надо много портов

Alex
27.03.2018
07:15:45
многопорт, хихихи

Oleg
27.03.2018
07:22:25
Можно поизвращаться с райзом

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

Dima
27.03.2018
07:22:29
Oleg
27.03.2018
07:22:36
А это одно и тоже

Alex
27.03.2018
07:22:51
нет, с проком должен работать return или break

Oleg
27.03.2018
07:22:58
Хм

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