Class: Shhh::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/shhh/configuration.rb

Overview

This class encapsulates application configuration, and exports a familiar method #configure for defining configuration in a block.

It's values are requested by the library upon encryption or decryption, or any other operation.

Example

The following is an actual initialization from the code of this library. You may override any of the value defined below in your code, but before you use library's encryption methods.

Shhh::Configuration.configure do |config|
  config.password_cipher = 'AES-128-CBC'  #
  config.data_cipher = 'AES-256-CBC'
  config.private_key_cipher = config.data_cipher
  config.compression_enabled = true
  config.compression_level = Zlib::BEST_COMPRESSION
end

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject

Returns the value of attribute config


24
25
26
# File 'lib/shhh/configuration.rb', line 24

def config
  @config
end

Instance Attribute Details

#compression_enabledObject

Returns the value of attribute compression_enabled


37
38
39
# File 'lib/shhh/configuration.rb', line 37

def compression_enabled
  @compression_enabled
end

#compression_levelObject

Returns the value of attribute compression_level


37
38
39
# File 'lib/shhh/configuration.rb', line 37

def compression_level
  @compression_level
end

#data_cipherObject

Returns the value of attribute data_cipher


36
37
38
# File 'lib/shhh/configuration.rb', line 36

def data_cipher
  @data_cipher
end

#password_cipherObject

Returns the value of attribute password_cipher


36
37
38
# File 'lib/shhh/configuration.rb', line 36

def password_cipher
  @password_cipher
end

#private_key_cipherObject

Returns the value of attribute private_key_cipher


36
37
38
# File 'lib/shhh/configuration.rb', line 36

def private_key_cipher
  @private_key_cipher
end

Class Method Details

.configure {|config| ... } ⇒ Object

Yields:


26
27
28
29
# File 'lib/shhh/configuration.rb', line 26

def configure
  self.config ||= Configuration.new
  yield config if block_given?
end

.property(name) ⇒ Object


31
32
33
# File 'lib/shhh/configuration.rb', line 31

def property(name)
  self.config.send(name)
end