@proRuby

Страница 381 из 1594
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
в эбщем сериалайзер мне нжен чтобы не все выводить подряд, а выводить только нужные вещи?

структурированно

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

Dima
13.01.2017
11:37:04
в эбщем сериалайзер мне нжен чтобы не все выводить подряд, а выводить только нужные вещи?
Предположим есть таблица в которой 182 поля, надо вывести 16 полей, при этом как-то их обработав для фронтенда.

вот уже появлись два вопрос: 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
Наличие? Зачем тестировать реализацию?
мне нужно проверить, что методы добавилить через refinements

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
да, ща

Модешь примитивный пример запилить показывающий что это работпет?
https://gist.github.com/AlexWayfer/aa95e035e597f8ed604f1d86a68b12c1 обновил

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, поэтому как не крути надо тестировать поведение.

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
describe Gem do using Gem it {} end
в чём проблема?

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
я решил не лучшим способом

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