Module: Travis::Encrypt::Helpers::Common::ClassMethods

Defined in:
lib/travis/encrypt/helpers/common.rb

Instance Method Summary collapse

Instance Method Details

#attr_encrypted(*names) ⇒ Object



6
7
8
9
# File 'lib/travis/encrypt/helpers/common.rb', line 6

def attr_encrypted(*names)
  options = names.last.is_a?(Hash) ? names.pop : {}
  define_encrypted_accessors(names, options)
end

#define_encrypted_accessor(name, options) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/travis/encrypt/helpers/common.rb', line 17

def define_encrypted_accessor(name, options)
  define_method(name) do
    Encrypt.decrypt(self[name], options)
  end

  define_method(:"#{name}=") do |string|
    self[name] = Encrypt.encrypt(string, options)
  end
end

#define_encrypted_accessors(names, options) ⇒ Object



11
12
13
14
15
# File 'lib/travis/encrypt/helpers/common.rb', line 11

def define_encrypted_accessors(names, options)
  names.each do |name|
    define_encrypted_accessor(name, options)
  end
end