Module: EncryptAttr::Base
- Defined in:
- lib/encrypt_attr/base.rb
Defined Under Namespace
Modules: ClassMethods
Class Attribute Summary collapse
-
.encryptor ⇒ Object
Define the object that will encrypt/decrypt values.
Class Method Summary collapse
- .included(target) ⇒ Object
- .secret_token ⇒ Object
- .secret_token=(secret_token) ⇒ Object
- .validate_secret_token(secret_token) ⇒ Object
Class Attribute Details
.encryptor ⇒ Object
Define the object that will encrypt/decrypt values. By default, it’s EncryptAttr::Encryptor
10 11 12 |
# File 'lib/encrypt_attr/base.rb', line 10 def encryptor @encryptor end |
Class Method Details
.included(target) ⇒ Object
3 4 5 |
# File 'lib/encrypt_attr/base.rb', line 3 def self.included(target) target.extend(ClassMethods) end |
.secret_token ⇒ Object
13 14 15 |
# File 'lib/encrypt_attr/base.rb', line 13 def self.secret_token @secret_token end |
.secret_token=(secret_token) ⇒ Object
17 18 19 20 |
# File 'lib/encrypt_attr/base.rb', line 17 def self.secret_token=(secret_token) validate_secret_token(secret_token.to_s) @secret_token = secret_token.to_s end |
.validate_secret_token(secret_token) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/encrypt_attr/base.rb', line 22 def self.validate_secret_token(secret_token) if secret_token.size < 100 offending_line = caller .reject {|entry| entry.include?(__dir__) || entry.include?('forwardable.rb') } .first[/^(.*?:\d+)/, 1] warn "[encrypt_attribute] secret token must have at least 100 characters (called from #{offending_line})" end end |