
Sergey
28.03.2017
13:25:26
можно еще FactoryGirl.build_list заюзать

Vasiliy
28.03.2017
13:26:13
build_list немного для другого же, не?
ну т.е. оно для тестов

Sergey
28.03.2017
13:27:11
это же фабрика. Фабрика создает объекты

Google

Sergey
28.03.2017
13:27:37
какой-то конкретной привязки к env в принципе же нет

Vasiliy
28.03.2017
13:28:29
фактори герл рекомендуют подрубать как-то так gem 'factory_girl_rails', groups: [:development, :test]
ну и билд_лист же создаёт на основе фабрики в factories, а мне нужны пустые объекты

Sergey
28.03.2017
13:29:25
FactoryGirl.build_list(5. :model) == 5.times{ Model.new }

Vasiliy
28.03.2017
13:29:35
ну не

Sergey
28.03.2017
13:29:42
точнее почти. лист метод еще завернет в array
не ?)

Vasiliy
28.03.2017
13:30:41
фабрика из factories юзается, без фабрики оно в принципе смысла не имеет
не то в общем ? я просто помню в джанге была такая штука которая генерила заданное количество объектов пустых в конец связи has_many на форму

Sergey
28.03.2017
13:32:10
ничего не понял
фабрика из factories юзается, без фабрики оно в принципе смысла не имеет

Vasiliy
28.03.2017
13:32:26
ну смотри

Sergey
28.03.2017
13:32:37
в общем либа тебе предоствляет метод чтобы строить объект. Я не понимаю, почему ты думаешь что это можно юзать ТОЛЬКО в определенном env

Google

Sergey
28.03.2017
13:32:47
смотрю

Vasiliy
28.03.2017
13:35:05
объект строится на основе фабрики, которая определяется в factories/name_your_model без привязки к родительской модели
т.е. на основе фейковых данных(или хардкоренных в той самой фабрике)

Sergey
28.03.2017
13:38:42
ты можешь trait написать для этого случая и передать city как аргумент. btw всего лишь альтернатива 5.times. Но если это всего лишь 1 раз тебе в проекте понадобится, то можно 5.times заюзать и не парится

Vasiliy
28.03.2017
13:39:01
ладно

Антон
28.03.2017
14:09:27

Sergey
28.03.2017
14:09:41
why not ?

Антон
28.03.2017
14:09:55
why not ?
потому что фабрики не для этого
фабрики могут создавать объекты со своей логикой отличной от бизнес флоу

Sergey
28.03.2017
14:10:41
они могут какой угодно объект тебе создать
это не ответ на вопрос
как и по бизнес флоу так и нет

Антон
28.03.2017
14:10:51
в бизнес флоу вполне свои конкретные аргументы обычно
зачем build заменять фабричным build?

Sergey
28.03.2017
14:10:53
это всего лишь инструмент

Антон
28.03.2017
14:11:24
да, но к нему понятие production ready не применимо
он не для этого

Sergey
28.03.2017
14:12:07
у них прям в readme написано
не юзайте в проде ?
это же просто фабрики

Google

Антон
28.03.2017
14:12:34
если можно забивать гвозди микроскопом и это рабочий прийем
не значит что нужно это делать постоянно
и в инструкции не пишут обычно, что микроскоп не для этого

Sergey
28.03.2017
14:12:57
а если мне надо наделать таких объектов несколько в разных учатсках кода?
я заюзаю паттерн фабрика
я могу свои poro написать
или заюзать либу

Антон
28.03.2017
14:13:19
несколько.times do

Sergey
28.03.2017
14:13:22
причем тут микроскоп ?

Антон
28.03.2017
14:13:39
это метафора, это такой литературный прийем

Sergey
28.03.2017
14:14:25
механику твоего литературного приема я понимаю, спасибо что уточнил
неуместность сравнения, вот это не ясно

Vasiliy
28.03.2017
14:16:38

Сергей
28.03.2017
14:16:47

Vasiliy
28.03.2017
14:17:07
group :development, :test do
gem 'factory_girl_rails'
end
прямо вот тут https://github.com/thoughtbot/factory_girl_rails

Sergey
28.03.2017
14:18:38
где ?

Vasiliy
28.03.2017
14:18:53
https://github.com/thoughtbot/factory_girl_rails#configuration

Sergey
28.03.2017
14:18:56
вообще нет слова production

Vasiliy
28.03.2017
14:19:16
именно, потому что гем подрубается в группы :development и :test

ojab
28.03.2017
14:19:25
шли бы вы в https://telegram.me/ruby_talks

Sergey
28.03.2017
14:19:26
https://github.com/thoughtbot/factory_girl

Google

Sergey
28.03.2017
14:19:37
а здесь не слова про env
ладно, я не хочу дальше спорить на эту тему.

Денис
28.03.2017
14:37:36

Serhii
28.03.2017
16:06:27
В юзании рельсового enum есть какие-нибудь "фу"? Может не рекомендуется его пользовать или ещё чего?

ojab
28.03.2017
16:07:52
если что-то в рельсах есть и оно не deprecated — можно смело юзать

Vasiliy
28.03.2017
16:10:11
Енум юзай ток с хэшем

Artem
28.03.2017
16:10:20
Есть одна херня - в базе числа хранятся. Поэтому если какой-то элемент перечисления из середины удаляешь, придется апдейтить в базе все. Мб сейчас уже изменили это, давно им не пользовался

Vasiliy
28.03.2017
16:10:40
Лучше будет, иначе там ключи при удалении смещаться будут
Не очень удобно енумы локализировать, из коробки нет, надо хелпер писать

Admin
ERROR: S client not available

Vasiliy
28.03.2017
16:14:00
Ну в целом хелперы которые енумы дают перевешивают то что выше написал

Антон
28.03.2017
16:14:11
aasm/sm vs enum
я за aasm/sm
контролировать проще

Vasiliy
28.03.2017
16:15:22
aasm я считаю для случаев чуть посложнее простых енумов, но опять ж имхо

Sergey
28.03.2017
16:15:32
рельсы vs руби
я за рельсы

Антон
28.03.2017
16:15:59

Artem
28.03.2017
16:16:34
если переходы есть, то конечно автомат нужен

Vasiliy
28.03.2017
16:16:56
Ну хз, я часто юзал просто для фильтрации

Антон
28.03.2017
16:17:06
например?
я старый просто, забыл уже многое

Google

Vasiliy
28.03.2017
16:17:17
Да, вот как раз без логики перехода
Ну там положение объекта - верх, низ, лево право
aasm лишнее тут будет

Антон
28.03.2017
16:18:13
я просто строку пишу в таком случае
и в логах видно что where left а не where 2

Vasiliy
28.03.2017
16:19:08
с енумом удобно obj.state.all

Антон
28.03.2017
16:23:26
один плюс? :)

Artem
28.03.2017
16:24:05
валидации не надо писать :)

Serhii
28.03.2017
16:24:24
Если добавлять атрибуты к енум в процессе потом проблемы будут какие-то?

Антон
28.03.2017
16:24:46

Serhii
28.03.2017
16:27:03
У меня в модели несколько скоупов для разных статусов булевых, думал вот может их на енум поменять.. Какие будут минусы при этом?
Первый раз наткнулся на енум просто думаю вот как применить можно и что это даст ±

s
28.03.2017
16:30:11

pny
28.03.2017
16:31:06
Enumerize гем ниче так, но он прибит к AR емнип

s
28.03.2017
16:32:09
которые вообще ортогональны

Антон
28.03.2017
16:32:39
state machine / acts_as_state_machine?

s
28.03.2017
16:32:56
нет, стейт машина и енум
т.е. разные инструменты для решения разных задач
если нет логики переходов между состояниями, то конечный автомат нафиг не нужен
например, если статьи бывают разных типов
и с одного типа на другой не переходят никогда