neo4j.rb v7与attr_encrypted的兼容性

时间:2016-05-09 03:43:11

标签: ruby neo4j

刚从neo4j.rb v4升级到neo4j.rb v7并发现

require 'attr_encrypted' # v3.0.1

class PmConfiguration

  include Neo4j::ActiveNode

  property :do_api_token   
  property :ql_pub_key   
  property :ql_email     
  property :cc_email   
  property :default_dev_domain   
  property :login 
  property :secret_sudo_pwd 

  attr_encrypted :sudo_pwd, key: 'ql', prefix: 'secret_', encode: true

  class << self    ...

产生

    NoMethodError: undefined method `attr_encrypted' for #<Class:0x005566a6b5bf00>
Did you mean?  attr_reader

当班级运行时。使用neo4j.rb v4工作得很好。

是否有工作或neo4j方式做同样/类似的事我还没有找到?

此致

2 个答案:

答案 0 :(得分:1)

跟进: 在阅读了大量代码之后,问题在于attr_encrypted 1.3&amp; 3.0。

使用v 3.0时,需要添加一个额外的列(如果需要持久性)。

在上面的示例中,我添加了:

property :secret_sudo_pwd_iv

不确定rails是因为我的设置更多是PORO,所以我也必须在课堂上extend AttrEncrypted

实际上,这在README中都有很好的记录。 很抱歉在发布时有些不成熟。

希望这有帮助。

修订后的模型如下(适用于attr_encrypted v3.0)

class PmConfiguration 

  extend AttrEncrypted

  include Neo4j::ActiveNode

  property :do_api_token
  property :ql_pub_key
  property :ql_email
  property :cc_email
  property :default_dev_domain
  property :login
  property :secret_sudo_pwd
  property :secret_sudo_pwd_iv

答案 1 :(得分:0)

添加attr_encypted gem

gem install attr_encrypted

或在您的gemfile中

gem "attr_encrypted", "~> 3.0.0"