
Vasiliy
02.10.2017
11:42:08
чем амс то плох?

Gleb
02.10.2017
11:44:29
ну я кусок огромный под них в пятницу переписал, не лучше и не быстрее, чем репрезентеры, но в принципе ок

Alexey
02.10.2017
11:50:09
jb ощутимо быстрее, а вообще об ams сложилось плохое впечатление из-за совершенно непонятного поведения метода object, который в тестах и не тестах возвращал разные значения

wi11son
02.10.2017
11:52:58
а что такое jb?

Google

wi11son
02.10.2017
11:53:05
а jbuilder
мы юзаем Grape::Entity
оч нравится

Anton
02.10.2017
11:53:19

wi11son
02.10.2017
11:54:45
и не зависит от grape не смотря на название

Gleb
02.10.2017
11:54:49
jb мне оч нравилось пользовать, идеологически круто придумано, но ощутино медленно работал (oj стоял)

wi11son
02.10.2017
11:54:59
очень удобный dsl

Anton
02.10.2017
11:55:21
а ссылку кинешь?
мб я вдохновлюсь чем-то

wi11son
02.10.2017
11:55:48
https://github.com/ruby-grape/grape-entity

Anton
02.10.2017
11:55:51
спасибо!
j

Google

Anton
02.10.2017
11:55:59
ооо
знакомые люди

wi11son
02.10.2017
11:56:06
тут штука в том, что это сериалайзер, а jb и oj, библиотеки для генерации json'a
удобные штуки типа merge: true

Anton
02.10.2017
11:56:50
ну вот кстати, у меня такая же идея для ханами сериализатора

wi11son
02.10.2017
11:57:03
и возможность реюзать одни энтити в других

Anton
02.10.2017
11:57:12
но не так навороченно

wi11son
02.10.2017
11:58:19
а в чем вы медленность вычисляете?

Anton
02.10.2017
11:58:46
да сам по себе грейп же медленная хрень

Nikolay
02.10.2017
11:59:03
угу
один из самых медленных rack based

wi11son
02.10.2017
11:59:32

Anton
02.10.2017
11:59:43
да. но там в зависимостях AS
лол
это еще хуже ?

wi11son
02.10.2017
11:59:53
это клевые просто сериалайзеры, мы их и без grape'a юзаем

Anton
02.10.2017
11:59:56
но идея крутая, я не спорю

Nikolay
02.10.2017
12:00:05
пора уже в руби as смержить

Anton
02.10.2017
12:00:15
нет, пожалуйста

Nikolay
02.10.2017
12:00:50
смысле ханами без as?

Google

Gleb
02.10.2017
12:00:58
дык в последних релизах именно мерджем AS они и занимаются ) только медленно

Nikolay
02.10.2017
12:01:32
у тех кто понимает, конечно

Anton
02.10.2017
12:01:49
так есть же as отдельный

wi11son
02.10.2017
12:06:53
ок, оно зависит от AS
но оно же тащит всего 3 штуки из AS
а не весь AS
в чем проблема? ведь можно было бы это же запихнуть в сам гем и всё
я понимаю, если ты тупо делаешь require 'active_support'

Anton
02.10.2017
12:08:08
ну, я не хочу тащить AS в не рельсовые проекты
принцип такой, лол

wi11son
02.10.2017
12:08:49
require 'active_support/core_ext/string/inflections' но когда вот так делаешь, ведь оно сразу понятно что тебе нужно

Vasiliy
02.10.2017
12:18:33
а ханами-сериалайзер есть уже?
было б прикольно если б в ханами что-нить начало тоже тащить весь Dry стэк и все такие - о, я не хочу таскать драй везде, ой, ну подумаешь лишняя либа, ой, давайте только драй в руби не пихать
кек)

Anton
02.10.2017
12:21:39
есть
там на dry-struct все как раз хахаха

Lupsick
02.10.2017
12:21:58
через dry-types можно сериализовать

Anton
02.10.2017
12:22:14
ну, через типы сложно прямо, через структуры проще

Google

Anton
02.10.2017
12:22:28
http://github.com/davydovanton/hanami-serializer/
но там надо переделать кучу всего так что такое

nikita
02.10.2017
12:47:34
я вон пишу сериализатор, в котором можно декларативно схему указывать
только дока пока что не полная, сегодня-завтра пополню

Dmitriy
02.10.2017
13:18:18
а что делаеть если аргементы метода не помещаются в одну строку в 80 символов? переношу рубокоп ругается
не переношу ругается что больше 80

Nikolay
02.10.2017
13:19:24
хакаешь рубокоп на 120 символов
живёшь дальше
......
profit

Admin
ERROR: S client not available

Dmitriy
02.10.2017
13:19:57
а
а переносить плохо?
Net::SCP.start(config['address'], config['user'],
password: config['password'],
non_interactive: true) do |scp|

Nikolay
02.10.2017
13:22:41
хз, я б перенёс, т.к. будет читабельнее.

Anton
02.10.2017
13:22:47
а реально вынести все в один объект, который ты и будешь передавать?

Dmitriy
02.10.2017
13:23:53
а я вот не знаю, коректно ли прочитает его Net::SCP

Anton
02.10.2017
13:24:01
а
это не твоя либа

Google

Anton
02.10.2017
13:24:12
хакни рубокоп просто

Dmitriy
02.10.2017
13:24:18
окей)

Anton
02.10.2017
13:24:35
ну или разбей на несколько строк

Dmitriy
02.10.2017
13:24:53
разбил, всеравно ругается, только на другое)
ладно)

Vasiliy
02.10.2017
13:32:29
можно новерное тип start(*config, **config_hash)
предварительно всё впихнуть в массив и хэш

Anton
02.10.2017
13:33:08
да ну

Alexey
02.10.2017
13:41:26
я бы в таком случае сделал "лишние" переменные типа user = config[:user]; ...; options = { non_interactive: true }
получается избыточно, то длина > 80 символов еще хуже )

Nikolay
02.10.2017
13:51:24
вот поэтому я не юзал рубокоп никогда
ставит синтетические палки в колёса

Alex
02.10.2017
13:51:52

Nikolay
02.10.2017
13:52:32
не всегда.
разумеется не всегда, но когда это происходило, то у меня подгорало адски

Dmitriy
02.10.2017
13:52:38
addr = config['address']
user = config['user']
pass = config['password']
Net::SCP.start(addr, user, password: pass, non_interactive: true) do |scp|
так лучше?

Alex
02.10.2017
13:52:43
у меня тоже, поэтому тупые проверки вырубил

Alexey
02.10.2017
13:58:39
кстати, пароль - это уже опция, судя по коду, так что можно:
options = { password: config['password'], non_interactive: true }
Net::SCP.start(config['address'], config['user'], options) do |scp|
...
end

Dmitriy
02.10.2017
14:00:15
круто!
@tap349 спасибо!)

Anton
02.10.2017
14:24:19
http://hanamirb.org/blog/2017/10/02/documentation-challenge.html
есть шанс урвать футболку на халяву, лол

Dmitriy
02.10.2017
15:10:17
А что метод реально должен состоять из 11 строк ?
Просто иногда мне трудно представить, что все методы можно уложить в это количество