@proRuby

Страница 168 из 1594
Aleksandr
31.08.2016
15:15:02
народ готовиться к школе ))))

Nikolay
31.08.2016
15:15:34
народ готовиться к школе ))))
а ну да, это ж ыкспердов бабушки из села привозят

Aldar
31.08.2016
16:05:40
Наверное заняты изучением эликсира, чтобы успеть сойти с поезда под именем руби, бггг)

I
31.08.2016
16:09:49
да не, я вот тесты пишу сейчас

Google
Alex
31.08.2016
16:16:18
я вчера пока свой гем писал, на тесты убил раза в три больше времени чем на сам код

Lupsick
31.08.2016
16:17:53
А я вчера админку для хостинга за 2 часа написал

ojab
31.08.2016
16:21:22
а я купил дневник и тетрадки

ojab
31.08.2016
16:21:52
себе конечно же

Alex
31.08.2016
16:22:11
Вдруг у тебя ребенок есть.

Serg Podtynnyi
31.08.2016
16:22:16
знакомой 11класснице)

I
31.08.2016
16:27:18
знакомой 11класснице)
слишком старовата

Alex
31.08.2016
20:16:56
т.е без либ?

Nick
31.08.2016
20:18:37
В том числе. Феникс в целом понравился. Но в прод бы делать не стал

Aldar
31.08.2016
20:28:31
Пока будешь изучать эликсир и ОТП, феникс станет получше

Vlad
01.09.2016
04:32:28
А кто нибудь хочет написать статью для сайта rubydev.ru? Каждый день ее смогут видеть 150 человек :) С удовольствием размещу с ссылками на ваш блог/гитхаб. Можно рассказать о вашем проекте например, или просто какие-нибудь good practicies.

Google
Amir
01.09.2016
06:34:05
зачем нужны поля created_at, updated_at можно создать таблицы без этих полей?

kolas
01.09.2016
06:40:07
можно, просто убери их из миграции

I
01.09.2016
06:51:37
rails g model MyModel --no-timestamps

Amir
01.09.2016
06:52:23
ясно, а если уже поздно, и есть уже куча таблиц с этими полями

I
01.09.2016
06:53:10
ну можно в миграциях убрать t.timestamps null: false

а можно целенаправленно revome_column сделать

Amir
01.09.2016
07:36:23
хотя пусть живут пока что

Alex
01.09.2016
08:26:58
Я бы не сказалч что они много эрут

а потом могут и понадобиться

Nikolay
01.09.2016
11:42:23
А я вчера админку для хостинга за 2 часа написал
чисто для руления контейнеров докера я "админку" написал за вечер - потому как апи для докера у меня уже было готово

а вообще я шо хотел спросить - как правильено делать инициализацию обьекта моей рельсо модели(класса)

чтобы не хуками

ojab
01.09.2016
11:45:58
.new

ты хочешь модель при инициализации какими-то данными заполнять?

Какой примерно юзкейс?

хуки — callback'и?

Nikolay
01.09.2016
11:47:53
ага

да, так юзкейс такой Domain.new('example.com') => Domain(name: 'example', zone: Zone.find_by('com'), ...)

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

I
01.09.2016
11:49:05
такое лучше в колбеках, действительно

Google
Nikolay
01.09.2016
11:49:26
просто у обычного ООП есть Class.new(blabla)

Nick
01.09.2016
11:49:44
лучше БЕЗ коллбеков

коллбеки — зло

Nikolay
01.09.2016
11:50:12
лучше БЕЗ коллбеков
вот мне это мой ментор тоже говорит.

поэтому я и спрошаю что в модели есть аналогом def initialize

I
01.09.2016
11:50:36
коллбеки — зло
ну они ухудшают читаемость кода, но что еще тут предложить? Фабрику сделать?

типа DomainGenerator.create(‘example.com’), а она уже все делает внутри себя и кидает обвешенный всеми данными объект?

ojab
01.09.2016
11:51:38
сделай метод full_name=, который заполняет name и zone и потом Domain.new(full_name: 'example.com'), как вариант

Nikolay
01.09.2016
11:51:52
а то у меня в одной модели есть уже before_create :set_properties

в котором два десятка строк

Nick
01.09.2016
11:52:44
ну они ухудшают читаемость кода, но что еще тут предложить? Фабрику сделать?
Помимо это этого они могут выстрелить там, где ты этого не ждешь :) Оба варианта предлженные выше -- ок

Nikolay
01.09.2016
11:53:17
но я посути хочу код хелпера который мне возвращает хеш сейчас всунуть в нормальную модель

Nick
01.09.2016
11:53:22
Мне субъективно фабрика больше нравится

> типа DomainGenerator

Nikolay
01.09.2016
11:53:59
что есть фабрика и чем оно мне поможет?

штука в чем - у меня есть строка example.com я из нее хочу сгенерить модель в которой name: example, zone: Zone.find_by и еще немного пропертисов

I
01.09.2016
11:54:52
паттерн фабрики(

ну вот, делаешь класс DomainGenerator, там статические метод для создания домена

внутри метода создаешь, к примеру, domain нужный, потом к нему применяешь все нужные твики

и возвращаешь его

Google
Nikolay
01.09.2016
11:55:50
и зачем мне это усложнение вместо Domain.new('example.com') ?

I
01.09.2016
11:55:57
=/

Nikolay
01.09.2016
11:56:11
и чем оно принципиально лучще текущего хелпера

так то я и хелпер могу доменГенератор обозвать, передавать в него строку и получать на выходе модель АР

I
01.09.2016
11:57:07
да ни за чем - ты задал вопрос, я ответил) не знаю, что в хелпере сейчас, но если хелпер в модель чего-то напихивает - не совсем это хорошо для хелпера

ojab
01.09.2016
11:57:15
если ты хочешь именно Domain.new('example.com') (без указания аттрибута) — тебе нужно переписывать initialize в модели, что нехорошо

Nikolay
01.09.2016
11:58:15
если ты хочешь именно Domain.new('example.com') (без указания аттрибута) — тебе нужно переписывать initialize в модели, что нехорошо
тоесть мне разумнее делать Domain.new(fqdn: 'example.com') и в set_prop's создавать остальные пропертисы

ясно, спасибо

I
01.09.2016
11:58:30
Helpers для view обычно применяют. Ну, по логике-то)

Admin
ERROR: S client not available

Nick
01.09.2016
11:58:48
Почему PORO-модель не завести и в ней уже написать нормальный конструктор и кормить в AR-модель Domain.new(poro_model.to_hash)

I
01.09.2016
11:59:14
лучше в гугл не вбивать PORO-модель x)

Nick
01.09.2016
11:59:21
Бгггг

На мой взгляд самый рабочий вариант

Nikolay
01.09.2016
11:59:45
Helpers для view обычно применяют. Ну, по логике-то)
эм. а куда мне мой хелпер сувать? в консерн чтоли тогда?

I
01.09.2016
12:00:34
лучше в lib -> и в своей собственный класс

Nick
01.09.2016
12:01:12
Вы не ищете лёгких путей, я понял

Nick
01.09.2016
12:01:13
Или в папочку services…. сорян, кто-то должен был предложить вариант с сервис-обжектом

Nick
01.09.2016
12:02:00
Не обязательно

Google
Nick
01.09.2016
12:02:01
Сервис объект — это паттерн фактически

PORO может быть чем угодно

Nikolay
01.09.2016
12:02:11
Вы не ищете лёгких путей, я понял
наоборот, ищу. вот вариант обычной классической инициализации обьекта мне нравится, но где его аналог в иницилизаторе АРной модели

и чтобы без калбеков/хуков

Плюшка
01.09.2016
12:03:55
вон ojab предложил хорошую вещь (на мой взгляд)

Nick
01.09.2016
12:03:56
Как вариант написать свой класс-метод parse_and_initialize, например. И создавать объекты через него

Nikolay
01.09.2016
12:04:47
ххм

Nick
01.09.2016
12:06:11
«...и призадумалась, а сыр во рту держала»

Nikolay
01.09.2016
12:10:29
еще такой вопрос. у меня в модели есть несколько boolean полей (чото)_requirement. можно ли красивым способом получить нечто вроде where(requirements: true) ?

или в if ...

kolas
01.09.2016
12:11:14
создай scope

Nikolay
01.09.2016
12:12:05
а для if? мне просто надо дополнительные данные во вьюшке выводить, если одно из этих полей истинно

Evghenii
01.09.2016
12:13:32
может просто метод? def required? !test_requirement && test2_requirement end

не бейте только за плохие советы)

Nick
01.09.2016
12:14:15
Тебе коллекцию моделей надо получить, где requirements true или просто во вьюхе показывать?

Evghenii
01.09.2016
12:14:39
ну а коллекцию scope да

Nick
01.09.2016
12:14:45
Если второе, то хелпер подойдёт

Evghenii
01.09.2016
12:14:56
видимо и то и то надо

Nick
01.09.2016
12:14:59
Если первое, то scope, как верно заметили

Nikolay
01.09.2016
12:15:16
просто хардкодить все эти реквайрменты ручками не хочется...

Nick
01.09.2016
12:16:11
Ну можешь красиво выйти на арену с method_missing

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