@proRuby

Страница 1205 из 1594
Dima
17.05.2018
07:55:56
Т.е. конкретно к Vscode это вряд ли относится: https://github.com/castwide/solargraph

kolas
17.05.2018
07:57:24
я соларграф для вскода использовал, но потом вырубил его - слишком сильно цпу и озу ест

Subb98
17.05.2018
07:57:29
Ну вот у меня прямо сейчас VSC открыт, Ruby проект. Из коробки не умеет точно. Пакеты разные ставил, ничего не получилось. Для php работает, например.

Google
Subb98
17.05.2018
07:58:17
А, ему gem нужен.

Dima
17.05.2018
07:59:21
А, ему gem нужен.
вот тут в диалоге gurgeous расписывает ка кэто все запустить.

https://github.com/rubyide/vscode-ruby/issues/294

Subb98
17.05.2018
07:59:59
Спасибо, сейчас попробую заюзать. Интересно, получится ли избавиться от RubyMine.

Vyacheslav
17.05.2018
08:32:23
а vim кто-то использует?

Dima
17.05.2018
08:36:57
Subb98
17.05.2018
08:37:28
@lbvf50 спасибо, некоторых улучшений добиться удалось. Не так, как в RubyMine, конечно, но пойдёт. )

Vyacheslav
17.05.2018
08:39:24
я сейчас использую в связке vim + tmux

вариант для ruby ide на vim: https://github.com/lucerion/vim-as-a-ruby-ide

Dima
17.05.2018
08:40:36
я сейчас использую в связке vim + tmux
это высший сорт. я слышал о мультиплексторах терминалов

но как-то время на это тратить нет особого желания.

чтоб перехоидть на такие редкие инстурменты

Google
Anton
17.05.2018
09:10:55
а vim кто-то использует?
я последние 3 года с тмуксом юзаю

ShadoWalkeR
17.05.2018
09:15:20
Когда много по ssh работаешь тот же screen далеко не редкий инструмент - при обрыве сетевой сессии выполнение в нем продолжится. Кроме того это очень удобно коллегам сессию расшаривать - им достаточно подключиться к той или иной консоли screen

Vyacheslav
17.05.2018
09:28:39
это высший сорт. я слышал о мультиплексторах терминалов
я много с Perl работаю, а там мало нормальных редакторов (было до последнего времени, сейчас есть плагин для IDEA/WebStorm - Camelcade, ну и vs code). В связке vim + tmux работаю последние 3 месяца, до этого был gvim + tmux (переключался между gvim и tmux-консолью)

screen - это аналог tmux

Dima
17.05.2018
09:29:04
screen - это аналог tmux
прикольно щас гуглю чтоб его найти.

Vyacheslav
17.05.2018
09:29:26
Dima
17.05.2018
09:29:32
https://www.gnu.org/software/screen/

ShadoWalkeR
17.05.2018
09:29:33
tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне. tmux является штатным мультиплексором терминалов операционной системы OpenBSD. Программа tmux задумывалась как замена программы GNU Screen.

Anton
17.05.2018
09:29:50
прикольно щас гуглю чтоб его найти.
https://robots.thoughtbot.com/a-tmux-crash-course

ShadoWalkeR
17.05.2018
09:29:50
apt/yum install screen/tmux

Anton
17.05.2018
09:29:52
https://en.wikipedia.org/wiki/Tmux

Vyacheslav
17.05.2018
09:31:03
в tmux удобно выводить логи в нескольких панелях/окнах для разных сервисов

Vasya
17.05.2018
09:46:31
Народ, кто-то уже деплоил через capistrano проект на rails 5.2 с новыми credentials?

Vlad
17.05.2018
10:03:52
Ребята как пофиксить проблему того что после деплоя код на серваке обновился но сам сайт никаких изменений не принял, пробовал через капистрано запускать deploy:restart но не помогло, на самом серваке ни пума ни нджынкс перезапускаться не хотят командами sudo service puma restart

Alex
17.05.2018
10:04:31
у puma есть touch tmp/restart.txt вроде

Дарья
17.05.2018
10:15:01
Ребята, всем привет! нам в команду нужен руби, могу сюда скинуть предложение?

даже в две команды нужен)

Google
Дарья
17.05.2018
10:17:54
?

D
17.05.2018
10:35:49
/etc/sudoers

Alex
17.05.2018
10:36:48
D
17.05.2018
10:38:47
для его пользователя может быть запрешено или разрашено "только" чтото опредеено кроме рестартов.

q3n0x
17.05.2018
12:17:21
Ребят подскажите пжлст в каком направлении гуглить? 1. Имеется модель "Team", has_many :users. 2. У "User" есть поле last_sign_in_at (datetime). Нужно вернуть список Team с максимальным last_sign_in_at среди юзеров этой команды. Т.е. в результате должен быть массив с экземплярами модели Team + дополнительно высчитанное поле last_sign_in_at, чтобы вывести во вьюхе как team.last_sign_in_at

Lupsick
17.05.2018
12:17:38
https://github.com/facebook/relay/issues/1883

q3n0x
17.05.2018
12:56:47
с максимальным это как? 5 максимальных?
Вывести список команд и дату свежайшего логина юзера

Vasya
17.05.2018
12:59:34
Выпригивает ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage при деплое с capistrano и новыми рельсами с credentials Может, кто сталкивался?

q3n0x
17.05.2018
13:02:44
Team.joins(:users).merge(User.order(last_sign_in_at: :desc).limit(1))
Попробовал: Team.joins(:users).merge(User.order(last_sign_in_at: :desc).limit(1)) Team Load (1.8ms) SELECT "teams".* FROM "teams" INNER JOIN "users" ON "users"."team_id" = "teams"."id" ORDER BY "users"."email" ASC, "users"."last_sign_in_at" DESC LIMIT 1 ActiveRecord::AssociationNotFoundError: Association named 'team' was not found on Team; perhaps you misspelled it? Не пойму почему join по teams.id, должен же по team.id? и как это "Association named 'team' was not found on Team" о_О его там и нет

Alex
17.05.2018
13:03:00
Team.joins(:users).merge(User.order(last_sign_in_at: :desc).limit(1))
небось проще написать .order(users: { last_sign_in_at: :desc })

q3n0x
17.05.2018
13:04:22
небось проще написать .order(users: { last_sign_in_at: :desc })
забыл сказать что Rails 4.2.1 ArgumentError: Direction "{:last_sign_in_at=>:desc}" is invalid. Valid directions are: [:asc, :desc, :ASC, :DESC, "asc", "desc", "ASC", "DESC"]

q3n0x
17.05.2018
13:11:09
ojab
17.05.2018
13:11:52
.order('users.last_sign_in_at').distinct(:id).select(*Team.coumn_names, 'users.last_sign_in as last_sign_in')?

Google
Gleb
17.05.2018
13:29:15
а чего не .order('users.last_sign_in_at DESC')

q3n0x
17.05.2018
13:33:16
а чего не .order('users.last_sign_in_at DESC')
возвращает всех пользователей, нужен только список команд, потому в примере выше .limit(1) c merge

всё же, странно, почему так отработал сама дока по мержу https://apidock.com/rails/ActiveRecord/SpawnMethods/merge
Виной всему был default_scope в модели User Итоговый запрос: SELECT "teams".* FROM "teams" INNER JOIN "users" ON "users"."team_id" = "teams"."id" ORDER BY "users"."last_sign_in_at" DESC LIMIT 1 Возвращает 1 команду (хотя их 3)

Иван
17.05.2018
13:46:38
тебе dictinct on нужен насколько я понимаю

q3n0x
17.05.2018
13:52:29
похоже найденный юзер есть только у одной команды
разве LIMIT 1 не подразумевает что вернется 1 запись?

Иван
17.05.2018
13:54:32
попробуй что то вроде этого - Team.joins(:users).select("DISTINCT ON (users.team_id) *, users.last_sign_in as last_sign_in").order("users.team_id, users.last_sign_in as DESC")

q3n0x
17.05.2018
14:20:12
думаю нужно limit 1 убрать, он выводит только одну строку
тогда в результате у меня получится 90 записей) т.к. вернутся все пользователи из всех команд

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
17.05.2018
16:14:12
В глаза балуюсь, нашел

Нельзя ли там делать user Where order ?

Если нужно ещё лимиты добавить, там вроде были в ваших запросах

Иван
17.05.2018
16:41:02
Нельзя ли там делать user Where order ?
по идее можно если в where сделать вложенный запрос который найдет максимальную дату last_sign_in. но тогда наверно лучше это в условие джойна прокинуть

что нибудь типо - Team.joins("INNER JOIN users ON users.team_id = teams.id AND users.last_sign_in = (SELECT MAX(last_sign_in) FROM users WHERE team_id = teams.id)").select("teams.*, users.last_sign_in as last_sign_in")

ojab
17.05.2018
17:32:53
плохо выглядит

простыня sql'а, да ещё и с MAX'ом

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
17.05.2018
17:33:37
простыня sql'а, да ещё и с MAX'ом
Давайте свой вариант тогда ещё))

ojab
17.05.2018
17:33:43
а я уже давал

Google
ojab
17.05.2018
17:34:27
он, конечно, тоже не очень, но уж каковы исходные данные

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
17.05.2018
17:47:42
Тс уже ушел, а обсуждение нет))

skynet
17.05.2018
18:02:01
всем привет, ребят... сильно стремно выглядит? # settings controller ... def update_email if @user.update_without_password(email_params) flash[:success] = "#{I18n.t 'controllers.settings.update_email.success'}" else render :edit end end def update_password if @user.update_with_password(password_params) bypass_sign_in(@user) flash[:success] = "#{I18n.t 'controllers.settings.update_password.success'}" else render :edit end end ... # routes.rb ... get 'settings', action: :index, controller: 'settings' patch 'update_email', action: :update_email, controller: 'settings' patch 'update_password', action: :update_password, controller: 'settings' ... # index.html.haml ... = simple_form_for(@user, url: update_email_url(@user), html: { method: :patch }, wrapper: :email_form) do |f| ... = simple_form_for(@user, url: update_password_url(@user), html: { method: :patch }, wrapper: :password_form) do |f|...

2 формы во вьюхе, 2 экшна для формы.. но экшны похожи, есть смысл так оставить или однозначно рефакторить?

Lavrushchik
17.05.2018
18:05:48
кто-нибудь знает, как в prawn изменить ориентацию страницы?

skynet
17.05.2018
18:08:29
https://www.rubydoc.info/gems/prawn/Prawn%2FDocument:initialize

Lavrushchik
17.05.2018
18:08:52
page_layout: :landscape? не помогает

упс) rotate забыл убрать)

Lavrushchik
17.05.2018
18:12:29
а не, нифига, не работает

skynet
17.05.2018
18:15:34
вообще можно это сделать внутри users_controller и обновлять внутри какого нибудь сервис-объекта
спасибо) думал про сервис-объект, сейчас нагляднее скину гистом что есть

Alexander
17.05.2018
18:17:28
спасибо) думал про сервис-объект, сейчас нагляднее скину гистом что есть
как я понял у тебя просто обновляются значения внутри модели user? и ты по сути для каждого значения делаешь отдельный роут(это не обязательно плохо) но можно их обновить в одном экшене

skynet
17.05.2018
18:17:43
гист https://gist.github.com/Dimetriu/a2c2671352ca0ac08ae86cf785dfdd68

ojab
17.05.2018
18:19:26
skynet
17.05.2018
18:19:49
да, все верно, там нужен settings_controller в котором юзер может менять имейл отдельно от пароля и наоборот, я пробовал в одном экшне, но если параметры объединить (permitted_params), то девайс не меняет имейл

Alexander
17.05.2018
18:19:59
а не, нифига, не работает
у тебя уже много на креведке написано? лучше взять html2pdf не помню как точно гем называется

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