
Dima
13.01.2017
11:33:15
Котроллер он только получает HTTP request и отправлиет его куда следует
thin contorller thick model
Но потом модели начинают разростаться

Dmitriy
13.01.2017
11:33:51
ну вот я вывожу render json

Google

Dima
13.01.2017
11:33:52
по этому добавляют interactor, decorator и прочее и прочее и прочее

Dmitriy
13.01.2017
11:33:57
чем мне сериалайзер поможет

Dima
13.01.2017
11:34:36
раз этих вопросов не возникает то тебе этот гем не нжуен
а если ты утомлен от вопросов какие атрибуты переодвитьв жсон и ка кэто делать
то тогда надо подключать этот гем

Dmitriy
13.01.2017
11:36:05
в эбщем сериалайзер мне нжен чтобы не все выводить подряд, а выводить только нужные вещи?
структурированно

Zulkar
13.01.2017
11:36:26

Dmitriy
13.01.2017
11:36:41
о великий

Dima
13.01.2017
11:37:04
вот уже появлись два вопрос: 1) какие атрибуты передвать 2) как их передавать
на эти вопросы ОБЕЩАЕТ давть ответ вышеозвученый гем

Google

Zulkar
13.01.2017
11:37:47
напиши api со стандартными возможностями рельсов и сериалайзером

Alexander
13.01.2017
11:38:37
блин, а никак не проверить наличие добавленного через refinements метода? public_instance_methods, respond_to? и даже public_send его не видят. но вызывается
@Fedcomp, ты не знаешь?

Alex
13.01.2017
11:39:04
Наличие? Зачем тестировать реализацию?
Какая разница как тестируемый обьект решает задачу?

Alexander
13.01.2017
11:39:50

Alex
13.01.2017
11:39:56
Зачем?

Alexander
13.01.2017
11:40:01
meh

Alex
13.01.2017
11:40:28
Если без refinements класс/модуль может решить задачу, то refinements там не нужны.

Alexander
13.01.2017
11:40:36
методы беру из другого гема, реализация меня не очень волнует
а суть моего гема как раз в refinements
свои методы я офк на результат тестирую
но тут сложнее ситуация
могу на результат чужие методы, но это мне не очень нравится

Alex
13.01.2017
11:41:11
Ты хочешь проверить сам модуль рефайнов?
Протестить точнее.

Alexander
13.01.2017
11:42:33
хочу убедиться, что при using добавились необхимые методы из чужого гема

Alex
13.01.2017
11:42:40
Щито?
Зачем?
Зачем тестировать реализацию?

Alexander
13.01.2017
11:43:01
ну если они добавились — то мой гем работает)

Google

Alex
13.01.2017
11:43:21
Ты обьясни получше
Что твой гем делает

Alexander
13.01.2017
11:43:31
задача моего гема в данном месте в подключении методов из другого гема через using

Alex
13.01.2017
11:43:44
using имеет жесикмй скоуп
Это тебе не монкипатч

Alexander
13.01.2017
11:43:57
я в курсе
в этом скоупе и тестирую

Alex
13.01.2017
11:44:12
Using всегда пишет программист использующий рефайнмент
Гемом ты это не подключишь
Программист явно ставит юзинг

Alexander
13.01.2017
11:44:42
блин
ща

Alex
13.01.2017
11:44:47
И никак иначе. Гем не может сам что то глоьально доьавить.

Alexander
13.01.2017
11:45:21
https://gist.github.com/AlexWayfer/aa95e035e597f8ed604f1d86a68b12c1
да, это работает)

Alex
13.01.2017
11:46:29
Что это и зачем?

Alexander
13.01.2017
11:46:42
вот. и я хочу проверить, что методы plurilize, singularize и прочее добавились в String
затем, чтобы не писать велосипед и не дублировать код гемов
я люблю велосипеды, но не на уровне словаря

Alex
13.01.2017
11:48:29
Лол, методы не добавились в string

Google

Alex
13.01.2017
11:49:02
Ты пытаешься протестировать того чего на самом деле нет.
Тестировать надо класс который использует using

Alexander
13.01.2017
11:49:16
я это использую в продакшене не первый месяц, ты ошибся где-то
оберни в модуль тот код и юзани

Alex
13.01.2017
11:50:10
Mymodule.somethingsequel не будет доступен тогда.
Он только доступен в пределах скоупа, т.е внутри того же файла в модулеб

Alexander
13.01.2017
11:51:34
короче, это работает. по сабжу можешь помочь? определение наличия методов из refinements

Alex
13.01.2017
11:53:59
Да не должно это работать

Alexander
13.01.2017
11:54:58
send работает, всё

Admin
ERROR: S client not available

Alexander
13.01.2017
11:55:39
тот гист + пару строк

Alex
13.01.2017
11:55:43
Модешь примитивный пример запилить показывающий что это работпет?

Alexander
13.01.2017
11:55:48
да, ща

Alex
13.01.2017
12:00:08
Ну да все верно
Наоборот этот пример подтверждает что все что я говорил - верно

Alexander
13.01.2017
12:00:42
?

Alex
13.01.2017
12:00:56
И неи смысла тестировать что MyScope имеет using

Google

Alex
13.01.2017
12:01:23
Mymodule.somethingsequel не будет доступен тогда.
Он у иеья и пишет что нет метода.
Тебе нужно протестировать что refinements сам по себе работает или что?

Alexander
13.01.2017
12:02:09
тип того
цель гема в refinements
и в тестах уже using

Alex
13.01.2017
12:02:49
Я внутри теста для этого написал модуль который делает using и предоставляет методы которые этот using вызывают
Дальше в тесте проверять сам модуль уже.
Ты не проверишь что методы туда добавились, потому что со стороны их нет.
Они есть только внутри модуля явно использующего using, поэтому как не крути надо тестировать поведение.

Alexander
13.01.2017
12:04:13
meh

Alex
13.01.2017
12:04:31
Внутри файла спеков в самом верху делаешь модуль

Alexander
13.01.2017
12:04:41
describe Gem do
using Gem
it {}
end

Alex
13.01.2017
12:04:41
Который предоставляет методы

Alexander
13.01.2017
12:04:52

Alex
13.01.2017
12:04:58
я пишу до первого describe
Фейковый модуль который специально для этого теста.

Alexander
13.01.2017
12:05:16
я прям в describe using, не вижу проблем
собсна, из другого гема с refinements подглядел

Alex
13.01.2017
12:05:37
А я вижу, в куче магии rspec. Тестируй как удобнее.
И раз уж ты решил проблему то не понятно в чем заключался вопросб

Alexander
13.01.2017
12:07:08
я решил не лучшим способом