Size: a a a

Saint P Ruby Community

2020 September 02

DS

Dmitriy Strukov in Saint P Ruby Community
источник

MS

Mikhail Sytchev in Saint P Ruby Community
источник

MS

Mikhail Sytchev in Saint P Ruby Community
хех, не всегда
источник

DS

Dmitriy Strukov in Saint P Ruby Community
Mikhail Sytchev
хех, не всегда
Ну магия работает если ты делаешь примерно вот так:

h = {}
h.compare_by_identity

Потом присваиваешь значения и вызываешь преобразование в JSON
источник

MS

Mikhail Sytchev in Saint P Ruby Community
источник

f🤔

focusshifter 🤔 in Saint P Ruby Community
Mikhail Sytchev
в какую структуру данных упаковать словарь с одинаковыми ключами, чтобы после преобразования в json ключи не схлопнулись по уникальности
вангую проблемы с кормлением такого жсона парсерам в будущем
источник

DS

Dmitriy Strukov in Saint P Ruby Community
Как будто бы это связано с тем как работает YARV
источник

f🤔

focusshifter 🤔 in Saint P Ruby Community
оно от имплементации будет зависеть, кто-то будет сохранять, кто-то будет перезаписывать. может всё же пересмотреть необходимость одноименных ключей или перепаковать в более сложную структурку?
источник

MS

Mikhail Sytchev in Saint P Ruby Community
пересмотреть необходимость одноименных ключей не могу, к сожалению. 3-й сервис так у себя запроектировал. Не могу влиять на него.
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Буду поликостылировать
источник

MS

Mikhail Sytchev in Saint P Ruby Community
=)
источник

f🤔

focusshifter 🤔 in Saint P Ruby Community
а как он будет на {"foo": "bar", "foo": "bar"} реагировать, интересно
источник

MS

Mikhail Sytchev in Saint P Ruby Community
сделает 2 операции foo с входными данными bar
источник

MS

Mikhail Sytchev in Saint P Ruby Community
т.е. сделает 2 транзакции
источник

MS

Mikhail Sytchev in Saint P Ruby Community
я не знаю зачем они наплевали на передачу множественных объектов в массиве
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Goшники
источник

f🤔

focusshifter 🤔 in Saint P Ruby Community
злодейство
источник

VA

Vsevolod Avramov in Saint P Ruby Community
Можно вместо хэша использовать вложенный массив. Там ничего сложного в to_json нет для хэша
источник

VA

Vsevolod Avramov in Saint P Ruby Community
'{' + [['foo', 1], ['foo', 2]].map{|k,v| "#{ActiveSupport::JSON.encode(k.to_s)}:#{ActiveSupport::JSON.encode(v)}"}.join(',') + '}'
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Всеволод, спасибо
источник