2015-12-15 8 views
1

Я хочу использовать neo4j с Rails 3.2 приложение, использующее Ruby MRI.
В this настройке дока, пакетирование приложения требует ActiveSupport 4, поэтому, вопрос в том, можно ли использовать текущие настройки (ActiveSupport 3.2.x) без использования JRuby.
Предпочитаемая настройка - использовать сервер db, а не встроенный. СпасибоНастройка neo4j и Rails 3.2 с Ruby MRI

ответ

0

Это хороший вопрос. Я просмотрел журналы git, и я не могу сказать, когда он был переключен с версии 3 на версию 4. Похоже, что он использовал 4 с версии 3.0.0 из драгоценного камня neo4j, хотя, когда мы начали поддерживающий режим сервера.

Что касается JRuby, даже если это был вариант для вас, вам все равно нужно будет использовать ActiveSupport, поэтому я не думаю, что это поможет.

Я попытался изменить activesupport, activemodel и railties версии 3 в жемчужину и работает спецификации и придумал это:

/Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `require': cannot load such file -- active_support/per_thread_registry (LoadError) 
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `<top (required)>' 
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j.rb:89:in `require' 

Так что, похоже, есть по крайней мере одна вещь в ActiveSupport 4, что мы зависит от.

Если это действительно важно, я хотел бы предложить разветвление neo4j хранилища и включая его в Gemfile так:

gem 'neo4j', github: 'your_username/neo4j' 

Затем в хранилище можно изменить neo4j.gemspec использовать версию 3 из драгоценных камней, которые Я перечислил выше. Тогда вам нужно будет исправить проблему, о которой я упоминал выше, и любые другие, которые вы можете использовать. Очевидно, это затруднит выполнение последних изменений в драгоценности.

Как правило, я выступаю за поддержку старых версий Rails/ActiveSupport как можно больше. Похоже, обновление до ActiveSupport 4 предшествовало мне, но мы определенно подумаем трижды, прежде чем в зависимости от каких-либо функций в 5.

Удачи!

+0

Привет Брайан и большое спасибо за быстрый и подробный ответ. Я думаю, что достаточно скоро я смогу использовать AS 4 (в сочетании с Rails 4), поэтому, вероятно, это будет не проблема. Тем временем, как обходной путь, я заметил, что мы можем использовать драгоценный камень '' 'neography''', поэтому он позволит нам оценить его за это время. –

+0

. Вы можете использовать Neography, но я бы предложил также проверить 'neo4j-core' драгоценный камень. Это то, что использует камень 'neo4j' под крышками. Это также зависит от ActiveSupport, хотя не похоже, что он задает версию в gemspec. Причина, по которой он включает ActiveSupport, - это «ActiveSupport :: Уведомления» и «HashWithIndifferentAccess», оба из которых, я уверен, находятся в AS3 –

+0

, спасибо за комментарий, обязательно проверьте это –