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
118 119 120 |
# File 'lib/go_secure.rb', line 118 def self.db_encryption(bool) @db_encryption = !!bool end |
.dump(obj) ⇒ Object
132 133 134 135 136 |
# File 'lib/go_secure.rb', line 132 def self.dump(obj) json = JSON.dump(obj) res = encrypted_dump(json) res end |
.encrypted_dump(json) ⇒ Object
138 139 140 141 142 143 144 145 |
# File 'lib/go_secure.rb', line 138 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
122 123 124 125 126 127 128 129 130 |
# File 'lib/go_secure.rb', line 122 def self.load(str) return nil unless str if str.match(/^\*\*/) JSON.load(str[2..-1]) else salt, secret = str.split(/--/, 2) JSON.load(GoSecure.decrypt(secret, salt, "secure_json")) end end |