@proRuby

Страница 376 из 1594
Alexander
11.01.2017
08:38:31
вкратце: выносишь валидации из модели в отдельный объект

trickster
11.01.2017
08:39:24
ну у меня вроде не сложный кейс, у меня есть 2 вида аутентификации, через емэйл, и через оаус фэйсбук, но всё это идёт в модель User, может лучшим решением было бы вынести ouath в другую модель?

trickster
11.01.2017
08:40:07
ну я его и использую

Google
Alexander
11.01.2017
08:40:53
хм-хм, возможно тебе нужна усложнённая валидация, если я правильно понимаю

с условиями но не уверен, что это хороший подход

trickster
11.01.2017
08:41:27
ну у меня логика такая, на обычную аутентификацию ,мне нужен пароль, но при входе через оаус пароль не нужен

но валидация на пароль есть

Alexander
11.01.2017
08:41:48
но валидация на пароль есть
валидация где конкретно?

trickster
11.01.2017
08:41:54
has_secure_password

:D

в модели User

Andrey
11.01.2017
08:42:57
http://guides.rubyonrails.org/active_record_validations.html#using-a-proc-with-if-and-unless может как то так?

trickster
11.01.2017
08:58:03
ну да, проще сгенерировать рандомный 6значный

чтобы валидация прошла

Dmitriy
11.01.2017
09:11:38
я правильно понимаю что в includes(:user).where("title LIKE ?", "#{letter}%").order("users.email") includes(:user) подгружает всех пользователей, для того чтобы воспользоваться order("users.email")

Google
Dmitriy
11.01.2017
09:13:08
я читал

v
11.01.2017
09:14:26
посмотри там про контекст валидации

Alex
11.01.2017
09:16:18
AR не отправляет запрос в базу пока не понадобятся результаты

Dmitriy
11.01.2017
09:19:10
ура

понял

блин

Zulkar
11.01.2017
09:19:32
ура
а что там было?

Dmitriy
11.01.2017
09:19:48
includes но в случае наличия условия по ассоциированной таблице переключается на создание единственного запроса с LEFT OUTER JOIN

для этого в includes(:user).where("title LIKE ?", "#{letter}%").order("users.email") используется include

includes

.order("users.email")

тоесть происходит слияние 2х таблиц, но мне не понятно почему в модели я не могу без includes выполнить .order("users.email"), ведь ассоциация есть

belongs_to :user,

ладно, надо принять это как данность наверно)

Zulkar
11.01.2017
09:26:55
а что говорит рельсы если ты пытаешься без includes сделать .order("users.email")

Dmitriy
11.01.2017
09:27:44
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "users" LINE 1: ...M "achievements" WHERE (title LIKE 'A%') ORDER BY users.emai... ^ : SELECT "achievements".* FROM "achievements" WHERE (title LIKE 'A%') ORDER BY users.email

а что значит Datasource в instance_double(Datasource

Antony
11.01.2017
12:52:22
что ты даблишь экземпляр Datasource

Dmitriy
11.01.2017
12:53:14
а

Google
Dmitriy
11.01.2017
13:09:09
А подскажите плиз у меня есть модель Achievement в тесте есть такая строчка let(:achievement) {instance_double(Achievement)} что в этом случает дублируется?

модель?

это как

Antony
11.01.2017
13:11:34
https://relishapp.com/rspec/rspec-mocks/v/3-5/docs/verifying-doubles/using-an-instance-double

Dmitriy
11.01.2017
13:13:08
емае

вот подскажите, не бывает у кого нибудь такого, учишь что то новое, и забываешь старое

Evgeniy
11.01.2017
13:14:04
у Гомера Симпсона кажется так работает о_О

kolas
11.01.2017
13:15:02
всегда забываю старое

через пол года смотрю старый проект и не понимаю чо там происходит ?

надо научится грамотные доки писать для такого

чтобы легче было разобраться в старье

Dmitriy
11.01.2017
13:18:25
если кому не трудно подскажите let(:achievement) {instance_double(Achievement)} allow(Achievement).to recive(:get_achievements) { [achievement]} Получается, что целый класс Achievement помещается в achievement потом allow(Achievement).to recive(:get_achievements) { [achievement]} задается то чтобы Achievement.get_achievements выдавал achievement?

Dmitriy
11.01.2017
13:18:28
самого себя?

что за бред

Antony
11.01.2017
13:24:57
ну потому что многие любят делать классы и методы как Земля.копайся()

рекомендую заглянуть в реализацию get_achievements

думаю там обнаружить self.get_achievements наряду с Achievement.where

Dmitriy
11.01.2017
13:29:45
да есть

(Achievement).to recive(:get_achievements) { [achievement]} я просто понять не могу этого

(

Google
Dmitriy
11.01.2017
13:31:11
передать в метод get_achievement класса Achievement сам класс Achievement в массиве??

Antony
11.01.2017
13:31:24
ты мокаешь метод класса Achievement так, чтобы он возвращал тебе массив с одним instance_double этого класса

только и всего

имей в виду что в массиве у тебя экземпляр класса

а не класс

Dmitriy
11.01.2017
13:31:56
ааа

надо покурить

@antony_vorobiev а смысл let(:achievement) {instance_double(Achievement)} если можно сделать let(:achievement) { Achievement.new }

Admin
ERROR: S client not available

Dmitriy
11.01.2017
14:28:24
будет тоже экземпляр класса

Antony
11.01.2017
14:29:23
я так понимаю, ты с чьим-то кодом и тестами разбираешься

Dmitriy
11.01.2017
14:29:32
ага

Antony
11.01.2017
14:29:39
не имея полной картины, тяжело ответить на этот вопрос

наверное потому что там мокаются еще какие-то методы

Dmitriy
11.01.2017
14:31:44
ладно спасибо)

Как часто вообще тесторование в изоляции происходит?

насколько это актуально

Dima
11.01.2017
14:51:55
всем функционального программирвоания

https://youtu.be/e-5obm1G_FY?t=11m20s

Alexander
11.01.2017
15:58:12
У многих проблема уместно использовать map и each

Google
Dmitriy
11.01.2017
16:17:24
кстати, есть какие новости по компилятору руби?

От питона стал отставать сильно не так ли?

И от пхп

Alex
11.01.2017
16:44:11
У многих проблема уместно использовать map и each
Забавно, я забыл когда уже использовал обычный цикл. Обычно работа с данными, а там each/map

если аккуратно все оборачивать в map то можно эффективно работать с данными.

v
11.01.2017
20:26:35
интерпретатор, наверное

France
11.01.2017
20:30:32
Ребята, я чет не оч понял о refinements Как он связан с манкипатчингом ? Может кто на пальцах пояснить ?)

France
12.01.2017
09:50:16
Я уже нашел и вдуплился))

Alex
12.01.2017
09:50:42
refinements прикольная штука, но он может быть не так очевиден как кажется :)

Dmitry
12.01.2017
10:41:36
Кто нибудь работал со spree? Если такие найдутся стуканите в лс пожалуйста.

Pavel
12.01.2017
17:33:49
Есть вопрос, снова назову его глупым. Вопрос заключается в выборе языка программирования для решения олимпиадных задач. Выбор застрял между С и Ruby. Ruby за простоту, а С за быстродействие. Как думаете, что лучше?

Я просто опять боюсь застрять с длинной арифметикой, поэтому решил попробовать интерпретируемые языки, но их быстродействие меня смущает

Как говорится хочется, но колется

?

kolas
12.01.2017
17:36:48
канеш си

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