
Tim
12.10.2018
07:16:05
top level constant lookup - определяет ≥2.5 или <2.5
но сходу сложно сказать как это промоделировать не в рельсах
както через метамагию
лол

Google

ShadoWalkeR
12.10.2018
07:21:40
Я попробовал вот этот пример реализовать - https://blog.bigbinary.com/2017/10/18/ruby-2.5-has-removed-top-level-constant-lookup.html
Это с компиляцией по системным путям и подменой env на rvm sr_kemi_core_info(): Ruby version is:Category
А это с компиляцией ruby из rvm app_ruby_print_last_exception(): exception: uninitialized constant Project::Category
Печально

Tim
12.10.2018
07:24:40

First
12.10.2018
07:24:55

Tim
12.10.2018
07:25:11
в рельсах ваще изи

ShadoWalkeR
12.10.2018
07:25:15
ну у меня есть ПО в котором можно логику в руби вынести. Была надежда что можно обойтись подменой env

Nikita
12.10.2018
07:25:29

ShadoWalkeR
12.10.2018
07:25:44
В системе просто 2.0 руби

Roman
12.10.2018
07:31:38

Tim
12.10.2018
07:32:49

Roman
12.10.2018
07:33:16
ну общая идея такая

Tim
12.10.2018
07:33:32
p 'pre-2.5' if String::Integer === Integer
(pry):2: warning: toplevel constant Integer referenced by String::Integer

Google

Tim
12.10.2018
07:33:42
ворнинг вроде не эксепшон

Roman
12.10.2018
07:33:55
а в 2.5 эксепшн будет

Tim
12.10.2018
07:34:08
а

Roman
12.10.2018
07:34:12
или это у тебя 2.5?

Tim
12.10.2018
07:34:19
2.4
не даром дима скажет что ты отвечаешь за слова
код сразу предоставляешь

Roman
12.10.2018
07:35:56
не ну а как ещё :)

Nikita
12.10.2018
07:37:35
p 'pre-2.5' if defined? String::Integer

Tim
12.10.2018
07:52:15
begin
puts '<2.5' if String::Integer
rescue NameError
puts '>=2.5'
end

ShadoWalkeR
12.10.2018
07:56:48
Да - походу модуль при компиляции в себя руби пихает

Nikita
12.10.2018
07:57:03
defined?(String::Integer) ? '<2.5' : '>=2.5'

ShadoWalkeR
12.10.2018
07:57:30
Да - уже попробовал. Там систмный вгрузился 2.0

Максим
12.10.2018
07:57:56
а я не пойму а в чём проблема
что мы решаем

ShadoWalkeR
12.10.2018
07:58:28
Ну я просто спросил как точно узнать какой руби используется

Максим
12.10.2018
07:58:42
что значит "точно"?

ShadoWalkeR
12.10.2018
08:00:21
У меня была версия, что ПО использует внешний интерпретатор, поэтому можно просто подсунуть ему rvm, как я делаю со скриптами. Но походу нет - при компиляции модуля в него засовывается интерпретатор

kolas
12.10.2018
08:00:44
разве нет глобальной константы?

ShadoWalkeR
12.10.2018
08:01:05
У меня была версия что она просто жестко задается гдето в исходниках

Google

kolas
12.10.2018
08:01:20
RUBY_VERSION

ShadoWalkeR
12.10.2018
08:01:32
Долгая история

kolas
12.10.2018
08:06:56

ShadoWalkeR
12.10.2018
08:07:32
Работает. У меня было подозрение что она просто захардкожена. Но походу модуль в себя руби тащит
Вот эту штуку изучаю, если интересно
https://github.com/kamailio/kamailio/tree/master/src/modules/app_ruby
Вообще логично, что RUBY_VERSION 2.0.0 будет отдавать - оно же в заголовочных файлах ruby указано

Roman
12.10.2018
08:28:07
1. создаёшь новую колонку
2. пишешь код, который проверяет сначала новую колонку потом старую
3. переносишь данные из старой в новую
4. убираешь код который читает из старой
5. дропаешь старую
6. ???
7. Profit
ты переименоваешь или тип меняешь?
с created сложней потому что рельсы их хардкодят
можешь через промежуточную таблицу делать
создать такую же только с правильной колонкой
ну точно так же: создал новую, поменял код, дропнул старую
но вообще можно попробовать с колонкой

Dmitriy
12.10.2018
08:40:55
У кого-нить есть опыт использованием вебсокетов в рельсовой аппликухе (4.2, кабеля нет)? Сейчас смотрю на faye и plezi, юзал кто-нить?
Есть ФЕ аппликуха которая шлет дофига относительно мелких запросов на БЕ, поэтому чтобы убрать оверхнед есть идея сделать что-то типо remote procedure call на вебсокете.

Gleb
12.10.2018
08:48:11

Dmitriy
12.10.2018
08:50:44
Оба гема отлично работают для отдельных вебсокет аппликух. Вопрос в первую очередь про проблемы, с которыми, юзавшие столкнулись:
1 сложность интеграции с готовой рельс аппликухой
2 сложность деплоя
3 секъюрити проблемы

Gleb
12.10.2018
08:53:37
пользовал centrifugo, проблем никаких нет, если нет необходимости в гарантии доставки сообщения

Nikita
12.10.2018
09:03:54
Ребят, я чет завтыкал. Хочу использовать ActiveRecord::Store для хранения настроек пользователя. В доке написано что-то вроде:
NOTE: If you are using PostgreSQL specific columns like hstore or json there is no need for the serialization provided by .store. Simply use .store_accessor instead to generate the accessor methods. Be aware that these columns use a string keyed hash and do not allow access using a symbol.
У меня jsonb. Че мне делать? Убрать jsonb и использовать store? Или вообще не использовать store.
Есть вероятность, что это идиотский вопрос, но я не использовал ActiveRecord::Store и поэтому решил уточнить

Google

Nikita
12.10.2018
09:07:13
store_accessor позволяет задефайнить поля, которые используются в jsonb? Или как
Разобрался, игнорщики ?

Максим
12.10.2018
09:29:10
пацаны чёто я туплю
https://gist.github.com/Qew7/c8bf8fdb738a9c9b38e3797431eb9587
24 строка
почему орёт + не метод для nil
когда вызываю Tree.new.grow

First
12.10.2018
09:29:45
@age?

Максим
12.10.2018
09:29:55
но я же вон ацессор сделал

Egor
12.10.2018
09:30:43
вероятно age += 1 воспринимается как age = age + 1
локальная переменная, все дела

Максим
12.10.2018
09:30:53
так age по дефолту 0

First
12.10.2018
09:31:05

Egor
12.10.2018
09:31:08
попробуй self.age +=1

Максим
12.10.2018
09:31:09
и как тогда быть?
ща
спасибо
странное поведение
неприятное

Google

First
12.10.2018
09:32:18
Я вчера кейс не очевидный словил

rekero
12.10.2018
09:32:23
через @age += 1 лучше

First
12.10.2018
09:32:30
def to_json(object)
object.to_json
end
Он вызывал мою функцию...

Максим
12.10.2018
09:32:40
ну типа блин есть же ацессоры((

rekero
12.10.2018
09:33:00

Максим
12.10.2018
09:33:14

rekero
12.10.2018
09:33:17
зачем тебе изнутри ими дергать?

First
12.10.2018
09:33:40
Просто в файле

Nikita
12.10.2018
09:33:43

Максим
12.10.2018
09:33:47

First
12.10.2018
09:33:53
Я же не переопределял ее у Object

Egor
12.10.2018
09:34:42

Максим
12.10.2018
09:34:59