@codenamecrud

Страница 937 из 1009
Roman
19.07.2018
11:06:19
просто хеш

в первой ссылке видно

Danila
19.07.2018
11:07:23
если у него .to_s выводить хэш, это не значит, что объект просто хэш

Google
Yaroslav
19.07.2018
15:25:05
Народ, подскажите, есть сериалайзер с полем has_many :updates do |serializer| include_data true end так вот, постмен возвращает "relationships": { "updates": { "data": [ { "id": "1", "type": "awesome" }, { "id": "2", "type": "awesome" }, { "id": "3", "type": "awesome" }, { "id": "4", "type": "awesome" }, { "id": "5", "type": "awesome" }, { "id": "6", "type": "awesome" } ] } } как в relationships -> data -> ... вывести поля, модели awesome?

Vasiliy
19.07.2018
15:26:22
В контроллере надо include( или с s на конце): 'awesome.*' тип такого

Yaroslav
19.07.2018
15:29:19
В контроллере надо include( или с s на конце): 'awesome.*' тип такого
"relationships": { "updates": { "data": [ { "id": "1", "type": "awesome" } ] } } }, "included": [ { "id": "1", "type": "awesome", "attributes": { "awesome_id": 1, "text": "test" } } ] как избавиться от 1го из полей тогда?)

Vasiliy
19.07.2018
15:29:53
какого одного?

Yaroslav
19.07.2018
15:30:15
relationships

Vasiliy
19.07.2018
15:31:17
вроде никак, так json-api работает

Yaroslav
19.07.2018
15:32:12
вроде никак, так json-api работает
Я досмотрел, спасибо?

Dimon
20.07.2018
08:00:11
matcher = { 'Saint Petersburg' => -> { p 'Пиво' }, 'Prague' => -> { p 'Pivo' }, 'London' => -> { p 'Beer' } } matcher['London']&.call паттерн матчинг уровня руби. дискас

Anton
20.07.2018
08:09:24
А что делать, когда мне надо на один ключ повесить 2 функции в зависимости от атрибута первого?

Dimon
20.07.2018
08:11:17
все в лямбду засунуть и там проверить

@davydovanton покажи примерчик на коде

короч, полноценный паттерн матчинг это не заменит, как ни крути, но в некоторых частных случаях может помочь

Anton
20.07.2018
08:14:36
Да просто посмотри пример паттерн матчинга из хаскеля или эрланга

Google
Anton
20.07.2018
08:18:41
matcher = { 'Saint Petersburg' => -> { p 'Пиво' }, 'Prague' => -> { p 'Pivo' }, 'London' => -> { p 'Beer' } } matcher['London']&.call паттерн матчинг уровня руби. дискас
На самом деле, такими идеями можно дойти до контейнеров и работы с зависимостями :)

Например. У тебя глобальный хеш с ключ зависимость

В зависимости от окружения ты можешь туда разные объекты пихать

Для тестов мок, для дева полу мок

И интерфейс вызова не изменится

Те код ничего про зависимость больше знать не будет

Dimon
20.07.2018
08:20:50
звучит как адаптер

Anton
20.07.2018
08:21:00
Не

Похоже, но адаптер во время жизни приложения меняет зависимости

А тут - при старте сконфигурировал и живи с этим все время жизни приложения

Dimon
20.07.2018
08:23:16
зависит от реализации адаптера, я думаю. я видал, как ребята делали адаптер и засовывали их в конфиги типа # development.rb config.payment_adapter = FakeAdapter # production.rb config.payment_adapter = StripeAdapter

с одинаковым интерфейсом, конечно

Anton
20.07.2018
08:24:11
Но это не совсем адаптер каноничный уже

Но возвращаясь к хешу, вместо вызова константы или глобальной переменной, ты получишь только 1 глобальный инстанс со всеми константами, а не наоборот

Dimon
20.07.2018
08:26:14
интересно, надо глянуть как в dry реализованы контейнеры

Anton
20.07.2018
08:26:59
интересно, надо глянуть как в dry реализованы контейнеры
Ну собственно да, это обычный контейнер

Только там нельзя перерегестрировать ключ и можно меморизацию включить

Dimon
20.07.2018
08:48:30
ты пользуешься таким?
пока еще нет, но структурируя текущий код я потихоньку к контейнерам прихожу

Boris
20.07.2018
08:48:39
Ну собственно да, это обычный контейнер
там threadsafe навешан и deep_freeze гем (или как-то так называется точно не помню). Исходный код хоть и требует некого понимания, чтобы прочесть, но довольно локаничен. так что bundle open dry-container в помощь:)

Google
Boris
20.07.2018
09:02:30
есть же dry-system-rails отдельный вроде и в Gemfile можно require: false добавить к зависимостям, которые не нужны самой рельсе

Anton
20.07.2018
09:04:43
не слышал что бы первое поддерживалось или работало ?

Boris
20.07.2018
09:06:24
я признаться тоже, просто знаю что есть:)

Dan
20.07.2018
10:07:29
?

Alex
20.07.2018
10:51:04
ребят привет. подскажите пожалуйста, можно сделать сортировку в элакстике(searchkick) по полям. то есть сначала выходят продукты, у которых запрос совпадает с названием, а потом - где совпадает с описанием?

I
20.07.2018
10:51:42
function_score

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html вот тут примерчик

Roman
20.07.2018
12:40:12
а дайте ка мне по рукам если хуйню несу

хотя бы кончиком

пишу апишку для своего микросервиса

стараюсь сюблюдлать jsonapi spec

ошибки надо отдавать { errors: [{status: INT, message: STRING},{...}] }

делай в апп контроллере rescue_from StandardError, with: :method_name

а в методе соотвтственно render json; ...

Admin
ERROR: S client not available

Google
Roman
20.07.2018
12:42:19
и ререйз оригинального эксепшена чтобы мимо логов не пошло

норм?

Boris
20.07.2018
12:43:37
норм?
он 500 ответит

чтобы эксепшн в логах был, сделай просто Rails.logger.error("#{e.message}\n #{e.backtrace.join("\n")}"

Roman
20.07.2018
12:50:59
да, похоже на правду, спасибо

Vitaliy
20.07.2018
13:06:46
он 500 ответит
По стандарту да, но можно render json, status: 404

Boris
20.07.2018
13:09:45
По стандарту да, но можно render json, status: 404
если после render делать raise снова, не сработает

Vitaliy
20.07.2018
13:10:17
А, да, мой косяк, не вчитался

Max
20.07.2018
13:43:24
Всем привет! #работа Ищу Ruby разработчиков в Киевский отдел www.lemonade.com, совершаем революцию в страховом бизнесе на рынке США и скорое в Европе, готов рассказать подробнее. ЗП обсуждается, в среднем от 3.5 до 6 в зависимости опыта и квалификации. #работа. Требования: 5+ years of Ruby on Rails experience Understanding of Agile dev process Experience with AWS / GCP Experience with relational databases, MySQL, PostgreSQL Good English Хорошо если есть: Experience with NoSQL databases (MongoDB, Redis, Memcached) Experience with Kafka, RabbitMQ Experience with BigData solutions like Hadoop, Hive, Impala

I
20.07.2018
13:44:46
неплохо, молодцы

судя по стэку - там может быть очень интересно

Roman
20.07.2018
13:46:33
ух с первого раза нормальное описание

Max
20.07.2018
13:53:14
Правда, есть что рассказать по продукту и компании, готов пообщаться, сразу не записываю в добровольцы ?

Roman
20.07.2018
13:55:51
только офис же?

Max
20.07.2018
13:56:06
увы да, требование компании

но мы в Gulliver/ Creative Quarter, не последнее место ?

Danila
20.07.2018
13:56:28
а в москве офис не планируется?

Max
20.07.2018
13:56:46
пока нет, если будет, обязательно напишу

мы только октрылись в Киеве, я ищу перых Рубистов, сейчас команда в 20 R&D в Израиле. С ними буду строить Киевский офис.

Google
Danila
20.07.2018
13:58:49
а ядро на руби?

Roman
20.07.2018
13:58:55
а в израильский офис нет вакансий?)

Max
20.07.2018
13:59:48
есть, можно посмотреть на Lemonade / Lemonade Makers

https://makers.lemonade.com тут есть вакансии

Кому будет интересно, пишите в личку, буду рад просто рассказать о нас, никаких обязательств

Danila
20.07.2018
14:05:10
Макс, а как в киеве со съемным жильем?)

Max
20.07.2018
14:15:45
ну в принципе есть :)))

Danila
20.07.2018
14:15:54
хех

Страница 937 из 1009