Module: GoSecure::SecureJson
- Defined in:
- lib/go_secure.rb
Class Method Summary collapse
- .db_encryption(bool) ⇒ Object
- .dump(obj) ⇒ Object
- .encrypted_dump(json) ⇒ Object
- .load(str) ⇒ Object
Class Method Details
.db_encryption(bool) ⇒ Object
131 132 133 |
# File 'lib/go_secure.rb', line 131 def self.db_encryption(bool) @db_encryption = !!bool end |
.dump(obj) ⇒ Object
145 146 147 148 149 |
# File 'lib/go_secure.rb', line 145 def self.dump(obj) json = Oj.dump(obj, mode: :compat) res = encrypted_dump(json) res end |
.encrypted_dump(json) ⇒ Object
151 152 153 154 155 156 157 158 |
# File 'lib/go_secure.rb', line 151 def self.encrypted_dump(json) if @db_encryption == false "**" + json else secret, salt = GoSecure.encrypt(json, "secure_json") salt + "--" + secret end end |
.load(str) ⇒ Object
135 136 137 138 139 140 141 142 143 |
# File 'lib/go_secure.rb', line 135 def self.load(str) return nil unless str if str.match(/^\*\*/) Oj.load(str[2..-1], mode: :compat) else salt, secret = str.split(/--/, 2) Oj.load(GoSecure.decrypt(secret, salt, "secure_json"), mode: :compat) end end |