symmetric-encryption 4.3.1 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +9 -9
  3. data/bin/symmetric-encryption +1 -1
  4. data/lib/symmetric-encryption.rb +1 -1
  5. data/lib/symmetric_encryption.rb +9 -9
  6. data/lib/symmetric_encryption/active_record/attr_encrypted.rb +1 -1
  7. data/lib/symmetric_encryption/cipher.rb +14 -10
  8. data/lib/symmetric_encryption/cli.rb +51 -51
  9. data/lib/symmetric_encryption/coerce.rb +3 -3
  10. data/lib/symmetric_encryption/config.rb +27 -26
  11. data/lib/symmetric_encryption/core.rb +22 -22
  12. data/lib/symmetric_encryption/encoder.rb +8 -8
  13. data/lib/symmetric_encryption/generator.rb +7 -3
  14. data/lib/symmetric_encryption/header.rb +12 -12
  15. data/lib/symmetric_encryption/key.rb +1 -1
  16. data/lib/symmetric_encryption/keystore.rb +20 -20
  17. data/lib/symmetric_encryption/keystore/aws.rb +6 -6
  18. data/lib/symmetric_encryption/keystore/environment.rb +4 -4
  19. data/lib/symmetric_encryption/keystore/file.rb +17 -3
  20. data/lib/symmetric_encryption/keystore/gcp.rb +6 -6
  21. data/lib/symmetric_encryption/keystore/heroku.rb +1 -1
  22. data/lib/symmetric_encryption/keystore/memory.rb +1 -1
  23. data/lib/symmetric_encryption/railtie.rb +6 -6
  24. data/lib/symmetric_encryption/railties/mongoid_encrypted.rb +3 -3
  25. data/lib/symmetric_encryption/railties/symmetric_encryption_validator.rb +1 -1
  26. data/lib/symmetric_encryption/reader.rb +13 -13
  27. data/lib/symmetric_encryption/rsa_key.rb +1 -1
  28. data/lib/symmetric_encryption/symmetric_encryption.rb +23 -17
  29. data/lib/symmetric_encryption/utils/aws.rb +8 -8
  30. data/lib/symmetric_encryption/utils/files.rb +3 -3
  31. data/lib/symmetric_encryption/utils/re_encrypt_files.rb +5 -5
  32. data/lib/symmetric_encryption/version.rb +1 -1
  33. data/lib/symmetric_encryption/writer.rb +17 -11
  34. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 860217558341999072c177c7d848fa6315667a7fcb12d9e1d9a518ecda43a2c4
4
- data.tar.gz: f0aa6a3419a15edfba8fcc37b72a1282057efbbe09653a7a04ff4687dcc87bd6
3
+ metadata.gz: 4054c7a61802055fd46d4effd1f3222369a1b46f23aeeadaae0322d392b7dcc1
4
+ data.tar.gz: b367ad236ab6f52d97bf28425f1c7bb1fc824b1c573c6528adb276f842dd97ee
5
5
  SHA512:
6
- metadata.gz: 870814f9d0d82dbd3edb405da82017c1d3533c4c7402e7ed0f9ac5e797a3c5e98500ac81912926076c84ddb90e3f287c097db65e5ff5202a22e5b053cfd83ba5
7
- data.tar.gz: eba6e94c5ed7755795ac8bbfcf83cd0a08d6206888bcfbdc30d33bcc61dcb7403ae7afe0c6d187608cf02550f0a3bce6eeefeb464ac860b1b1d64282e4d047be
6
+ metadata.gz: 2e0318de85ab6308c6dc7748d0096b18693d3b1cd8266ac7920a8033f9c220981b222a1d2e594bcd6f2d08700c40dbbc6e32159ab2b235b6f2b58ff5bb2dc4a2
7
+ data.tar.gz: 5a29bd465b788a8e28e3f84435fb5d03355fcd9d31fded9d4700eea47cec1a02dd2675c84b36d72fe2e16a9ee4dbafa2b8b401519cebf58c17abaaf9741f9aae
data/Rakefile CHANGED
@@ -1,30 +1,30 @@
1
1
  # Setup bundler to avoid having to run bundle exec all the time.
2
- require 'rubygems'
3
- require 'bundler/setup'
2
+ require "rubygems"
3
+ require "bundler/setup"
4
4
 
5
- require 'rake/testtask'
6
- require_relative 'lib/symmetric_encryption/version'
5
+ require "rake/testtask"
6
+ require_relative "lib/symmetric_encryption/version"
7
7
 
8
8
  task :gem do
9
- system 'gem build symmetric-encryption.gemspec'
9
+ system "gem build symmetric-encryption.gemspec"
10
10
  end
11
11
 
12
12
  task publish: :gem do
13
13
  system "git tag -a v#{SymmetricEncryption::VERSION} -m 'Tagging #{SymmetricEncryption::VERSION}'"
14
- system 'git push --tags'
14
+ system "git push --tags"
15
15
  system "gem push symmetric-encryption-#{SymmetricEncryption::VERSION}.gem"
16
16
  system "rm symmetric-encryption-#{SymmetricEncryption::VERSION}.gem"
17
17
  end
18
18
 
19
19
  Rake::TestTask.new(:test) do |t|
20
- t.pattern = 'test/**/*_test.rb'
20
+ t.pattern = "test/**/*_test.rb"
21
21
  t.verbose = true
22
22
  t.warning = false
23
23
  end
24
24
 
25
25
  # By default run tests against all appraisals
26
- if !ENV['APPRAISAL_INITIALIZED'] && !ENV['TRAVIS']
27
- require 'appraisal'
26
+ if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
27
+ require "appraisal"
28
28
  task default: :appraisal
29
29
  else
30
30
  task default: :test
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'symmetric_encryption'
3
+ require "symmetric_encryption"
4
4
 
5
5
  SymmetricEncryption::CLI.run!(ARGV)
@@ -1 +1 @@
1
- require 'symmetric_encryption'
1
+ require "symmetric_encryption"
@@ -1,19 +1,19 @@
1
- require 'symmetric_encryption/core'
1
+ require "symmetric_encryption/core"
2
2
 
3
3
  # Add extensions. Gems are no longer order dependent.
4
4
  begin
5
- require 'rails'
6
- require 'symmetric_encryption/railtie'
5
+ require "rails"
6
+ require "symmetric_encryption/railtie"
7
7
  rescue LoadError
8
8
  end
9
9
 
10
10
  begin
11
- require 'active_support'
11
+ require "active_support"
12
12
  ActiveSupport.on_load(:active_record) do
13
- require 'symmetric_encryption/active_record/attr_encrypted'
14
- require 'symmetric_encryption/railties/symmetric_encryption_validator'
13
+ require "symmetric_encryption/active_record/attr_encrypted"
14
+ require "symmetric_encryption/railties/symmetric_encryption_validator"
15
15
 
16
- if ActiveRecord.version >= Gem::Version.new('5.0.0')
16
+ if ActiveRecord.version >= Gem::Version.new("5.0.0")
17
17
  ActiveRecord::Type.register(:encrypted, SymmetricEncryption::ActiveRecord::EncryptedAttribute)
18
18
  end
19
19
 
@@ -21,8 +21,8 @@ begin
21
21
  end
22
22
 
23
23
  ActiveSupport.on_load(:mongoid) do
24
- require 'symmetric_encryption/railties/mongoid_encrypted'
25
- require 'symmetric_encryption/railties/symmetric_encryption_validator'
24
+ require "symmetric_encryption/railties/mongoid_encrypted"
25
+ require "symmetric_encryption/railties/symmetric_encryption_validator"
26
26
  end
27
27
  rescue LoadError
28
28
  end
@@ -51,7 +51,7 @@ module SymmetricEncryption
51
51
  random_iv = true if random_iv.nil? && SymmetricEncryption.randomize_iv?
52
52
 
53
53
  if random_iv.nil?
54
- warn('attr_encrypted() no longer allows a default value for option `random_iv`. Add `random_iv: false` if it is required.')
54
+ warn("attr_encrypted() no longer allows a default value for option `random_iv`. Add `random_iv: false` if it is required.")
55
55
  end
56
56
 
57
57
  attributes.each do |attribute|
@@ -1,4 +1,4 @@
1
- require 'openssl'
1
+ require "openssl"
2
2
  module SymmetricEncryption
3
3
  # Hold all information related to encryption keys
4
4
  # as well as encrypt and decrypt data using those keys.
@@ -12,7 +12,7 @@ module SymmetricEncryption
12
12
  attr_writer :key
13
13
 
14
14
  # Returns [Cipher] from a cipher config instance.
15
- def self.from_config(cipher_name: 'aes-256-cbc',
15
+ def self.from_config(cipher_name: "aes-256-cbc",
16
16
  version: 0,
17
17
  always_add_header: true,
18
18
  encoding: :base64strict,
@@ -72,7 +72,7 @@ module SymmetricEncryption
72
72
  # Default: true
73
73
  def initialize(key:,
74
74
  iv: nil,
75
- cipher_name: 'aes-256-cbc',
75
+ cipher_name: "aes-256-cbc",
76
76
  version: 0,
77
77
  always_add_header: true,
78
78
  encoding: :base64strict)
@@ -84,7 +84,9 @@ module SymmetricEncryption
84
84
  @version = version.to_i
85
85
  @always_add_header = always_add_header
86
86
 
87
- raise(ArgumentError, "Cipher version has a valid range of 0 to 255. #{@version} is too high, or negative") if (@version > 255) || @version.negative?
87
+ if (@version > 255) || @version.negative?
88
+ raise(ArgumentError, "Cipher version has a valid range of 0 to 255. #{@version} is too high, or negative")
89
+ end
88
90
  end
89
91
 
90
92
  # Change the encoding
@@ -167,7 +169,9 @@ module SymmetricEncryption
167
169
  decrypted = binary_decrypt(decoded)
168
170
 
169
171
  # Try to force result to UTF-8 encoding, but if it is not valid, force it back to Binary
170
- decrypted.force_encoding(SymmetricEncryption::BINARY_ENCODING) unless decrypted.force_encoding(SymmetricEncryption::UTF8_ENCODING).valid_encoding?
172
+ unless decrypted.force_encoding(SymmetricEncryption::UTF8_ENCODING).valid_encoding?
173
+ decrypted.force_encoding(SymmetricEncryption::BINARY_ENCODING)
174
+ end
171
175
 
172
176
  decrypted
173
177
  end
@@ -180,7 +184,7 @@ module SymmetricEncryption
180
184
  #
181
185
  # Returned string is UTF8 encoded except for encoding :none
182
186
  def encode(binary_string)
183
- return binary_string if binary_string.nil? || (binary_string == '')
187
+ return binary_string if binary_string.nil? || (binary_string == "")
184
188
 
185
189
  encoder.encode(binary_string)
186
190
  end
@@ -190,7 +194,7 @@ module SymmetricEncryption
190
194
  #
191
195
  # Returned string is Binary encoded
192
196
  def decode(encoded_string)
193
- return encoded_string if encoded_string.nil? || (encoded_string == '')
197
+ return encoded_string if encoded_string.nil? || (encoded_string == "")
194
198
 
195
199
  encoder.decode(encoded_string)
196
200
  end
@@ -316,8 +320,8 @@ module SymmetricEncryption
316
320
 
317
321
  openssl_cipher = ::OpenSSL::Cipher.new(header.cipher_name || cipher_name)
318
322
  openssl_cipher.decrypt
319
- openssl_cipher.key = header.key || @key
320
- if (iv = header.iv || @iv)
323
+ openssl_cipher.key = header.key || @key
324
+ if (iv = header.iv || @iv)
321
325
  openssl_cipher.iv = iv
322
326
  end
323
327
  result = openssl_cipher.update(data)
@@ -327,7 +331,7 @@ module SymmetricEncryption
327
331
 
328
332
  # Returns the magic header after applying the encoding in this cipher
329
333
  def encoded_magic_header
330
- @encoded_magic_header ||= encoder.encode(SymmetricEncryption::Header::MAGIC_HEADER).delete('=').strip
334
+ @encoded_magic_header ||= encoder.encode(SymmetricEncryption::Header::MAGIC_HEADER).delete("=").strip
331
335
  end
332
336
 
333
337
  # Returns [String] object represented as a string, filtering out the key
@@ -1,5 +1,5 @@
1
- require 'optparse'
2
- require 'fileutils'
1
+ require "optparse"
2
+ require "fileutils"
3
3
  module SymmetricEncryption
4
4
  class CLI
5
5
  attr_reader :key_path, :app_name, :encrypt, :config_file_path,
@@ -16,11 +16,11 @@ module SymmetricEncryption
16
16
 
17
17
  def initialize(argv)
18
18
  @version = current_version
19
- @environment = ENV['SYMMETRIC_ENCRYPTION_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development'
20
- @config_file_path = File.expand_path(ENV['SYMMETRIC_ENCRYPTION_CONFIG'] || 'config/symmetric-encryption.yml')
21
- @app_name = 'symmetric-encryption'
19
+ @environment = ENV["SYMMETRIC_ENCRYPTION_ENV"] || ENV["RACK_ENV"] || ENV["RAILS_ENV"] || "development"
20
+ @config_file_path = File.expand_path(ENV["SYMMETRIC_ENCRYPTION_CONFIG"] || "config/symmetric-encryption.yml")
21
+ @app_name = "symmetric-encryption"
22
22
  @key_path = "#{ENV['HOME']}/.symmetric-encryption"
23
- @cipher_name = 'aes-256-cbc'
23
+ @cipher_name = "aes-256-cbc"
24
24
  @rolling_deploy = false
25
25
  @prompt = false
26
26
  @show_version = false
@@ -34,7 +34,7 @@ module SymmetricEncryption
34
34
  end
35
35
 
36
36
  def run!
37
- raise(ArgumentError, 'Cannot cleanup keys and rotate keys at the same time') if cleanup_keys && rotate_keys
37
+ raise(ArgumentError, "Cannot cleanup keys and rotate keys at the same time") if cleanup_keys && rotate_keys
38
38
 
39
39
  if show_version
40
40
  puts "Symmetric Encryption v#{VERSION}"
@@ -70,7 +70,7 @@ module SymmetricEncryption
70
70
  end
71
71
 
72
72
  def parser
73
- @parser ||= OptionParser.new do |opts|
73
+ @parser ||= OptionParser.new do |opts|
74
74
  opts.banner = <<~BANNER
75
75
  Symmetric Encryption v#{VERSION}
76
76
 
@@ -83,113 +83,113 @@ module SymmetricEncryption
83
83
  symmetric-encryption [options]
84
84
  BANNER
85
85
 
86
- opts.on '-e', '--encrypt [FILE_NAME]', 'Encrypt a file, or read from stdin if no file name is supplied.' do |file_name|
86
+ opts.on "-e", "--encrypt [FILE_NAME]", "Encrypt a file, or read from stdin if no file name is supplied." do |file_name|
87
87
  @encrypt = file_name || STDIN
88
88
  end
89
89
 
90
- opts.on '-d', '--decrypt [FILE_NAME]', 'Decrypt a file, or read from stdin if no file name is supplied.' do |file_name|
90
+ opts.on "-d", "--decrypt [FILE_NAME]", "Decrypt a file, or read from stdin if no file name is supplied." do |file_name|
91
91
  @decrypt = file_name || STDIN
92
92
  end
93
93
 
94
- opts.on '-o', '--output FILE_NAME', 'Write encrypted or decrypted file to this file, otherwise output goes to stdout.' do |file_name|
94
+ opts.on "-o", "--output FILE_NAME", "Write encrypted or decrypted file to this file, otherwise output goes to stdout." do |file_name|
95
95
  @output_file_name = file_name
96
96
  end
97
97
 
98
- opts.on '-P', '--prompt', 'When encrypting or decrypting, prompt for a string encrypt or decrypt.' do
98
+ opts.on "-P", "--prompt", "When encrypting or decrypting, prompt for a string encrypt or decrypt." do
99
99
  @prompt = true
100
100
  end
101
101
 
102
- opts.on '-z', '--compress', 'Compress encrypted output file. [Default for encrypting files]' do
102
+ opts.on "-z", "--compress", "Compress encrypted output file. [Default for encrypting files]" do
103
103
  @compress = true
104
104
  end
105
105
 
106
- opts.on '-Z', '--no-compress', 'Does not compress the output file. [Default for encrypting strings]' do
106
+ opts.on "-Z", "--no-compress", "Does not compress the output file. [Default for encrypting strings]" do
107
107
  @compress = false
108
108
  end
109
109
 
110
- opts.on '-E', '--env ENVIRONMENT', "Environment to use in the config file. Default: SYMMETRIC_ENCRYPTION_ENV || RACK_ENV || RAILS_ENV || 'development'" do |environment|
110
+ opts.on "-E", "--env ENVIRONMENT", "Environment to use in the config file. Default: SYMMETRIC_ENCRYPTION_ENV || RACK_ENV || RAILS_ENV || 'development'" do |environment|
111
111
  @environment = environment
112
112
  end
113
113
 
114
- opts.on '-c', '--config CONFIG_FILE_PATH', 'File name & path to the Symmetric Encryption configuration file. Default: config/symmetric-encryption.yml or Env var: `SYMMETRIC_ENCRYPTION_CONFIG`' do |path|
114
+ opts.on "-c", "--config CONFIG_FILE_PATH", "File name & path to the Symmetric Encryption configuration file. Default: config/symmetric-encryption.yml or Env var: `SYMMETRIC_ENCRYPTION_CONFIG`" do |path|
115
115
  @config_file_path = path
116
116
  end
117
117
 
118
- opts.on '-m', '--migrate', 'Migrate configuration file to new format.' do
118
+ opts.on "-m", "--migrate", "Migrate configuration file to new format." do
119
119
  @migrate = true
120
120
  end
121
121
 
122
- opts.on '-r', '--re-encrypt [PATTERN]', 'ReEncrypt all files matching the pattern. Default: "**/*.{yml,rb}"' do |pattern|
123
- @re_encrypt = pattern || '**/*.{yml,rb}'
122
+ opts.on "-r", "--re-encrypt [PATTERN]", 'ReEncrypt all files matching the pattern. Default: "**/*.{yml,rb}"' do |pattern|
123
+ @re_encrypt = pattern || "**/*.{yml,rb}"
124
124
  end
125
125
 
126
- opts.on '-n', '--new-password [SIZE]', 'Generate a new random password using only characters that are URL-safe base64. Default size is 22.' do |size|
126
+ opts.on "-n", "--new-password [SIZE]", "Generate a new random password using only characters that are URL-safe base64. Default size is 22." do |size|
127
127
  @random_password = (size || 22).to_i
128
128
  end
129
129
 
130
- opts.on '-g', '--generate', 'Generate a new configuration file and encryption keys for every environment.' do |config|
130
+ opts.on "-g", "--generate", "Generate a new configuration file and encryption keys for every environment." do |config|
131
131
  @generate = config
132
132
  end
133
133
 
134
- opts.on '-s', '--keystore heroku|environment|file|aws|gcp', 'Which keystore to use during generation or re-encryption.' do |keystore|
135
- @keystore = (keystore || 'file').downcase.to_sym
134
+ opts.on "-s", "--keystore heroku|environment|file|aws|gcp", "Which keystore to use during generation or re-encryption." do |keystore|
135
+ @keystore = (keystore || "file").downcase.to_sym
136
136
  end
137
137
 
138
- opts.on '-B', '--regions [us-east-1,us-east-2,us-west-1,us-west-2]', 'AWS KMS Regions to encrypt data key with.' do |regions|
139
- @regions = regions.to_s.split(',').collect(&:strip) if regions
138
+ opts.on "-B", "--regions [us-east-1,us-east-2,us-west-1,us-west-2]", "AWS KMS Regions to encrypt data key with." do |regions|
139
+ @regions = regions.to_s.split(",").collect(&:strip) if regions
140
140
  end
141
141
 
142
- opts.on '-K', '--key-path KEY_PATH', 'Output path in which to write generated key files. Default: ~/.symmetric-encryption' do |path|
142
+ opts.on "-K", "--key-path KEY_PATH", "Output path in which to write generated key files. Default: ~/.symmetric-encryption" do |path|
143
143
  @key_path = path
144
144
  end
145
145
 
146
- opts.on '-a', '--app-name NAME', 'Application name to use when generating a new configuration. Default: symmetric-encryption' do |name|
146
+ opts.on "-a", "--app-name NAME", "Application name to use when generating a new configuration. Default: symmetric-encryption" do |name|
147
147
  @app_name = name
148
148
  end
149
149
 
150
- opts.on '-S', '--environments ENVIRONMENTS', 'Comma separated list of environments for which to generate the config file. Default: development,test,release,production' do |environments|
151
- @environments = environments.split(',').collect(&:strip).collect(&:to_sym)
150
+ opts.on "-S", "--environments ENVIRONMENTS", "Comma separated list of environments for which to generate the config file. Default: development,test,release,production" do |environments|
151
+ @environments = environments.split(",").collect(&:strip).collect(&:to_sym)
152
152
  end
153
153
 
154
- opts.on '-C', '--cipher-name NAME', 'Name of the cipher to use when generating a new config file, or when rotating keys. Default: aes-256-cbc' do |name|
154
+ opts.on "-C", "--cipher-name NAME", "Name of the cipher to use when generating a new config file, or when rotating keys. Default: aes-256-cbc" do |name|
155
155
  @cipher_name = name
156
156
  end
157
157
 
158
- opts.on '-R', '--rotate-keys', 'Generates a new encryption key version, encryption key files, and updates the configuration file.' do
158
+ opts.on "-R", "--rotate-keys", "Generates a new encryption key version, encryption key files, and updates the configuration file." do
159
159
  @rotate_keys = true
160
160
  end
161
161
 
162
- opts.on '-U', '--rotate-kek', 'Replace the existing key encrypting keys only, the data encryption key is not changed, and updates the configuration file.' do
162
+ opts.on "-U", "--rotate-kek", "Replace the existing key encrypting keys only, the data encryption key is not changed, and updates the configuration file." do
163
163
  @rotate_kek = true
164
164
  end
165
165
 
166
- opts.on '-D', '--rolling-deploy', 'During key rotation, support a rolling deploy by placing the new key second in the list so that it is not activated yet.' do
166
+ opts.on "-D", "--rolling-deploy", "During key rotation, support a rolling deploy by placing the new key second in the list so that it is not activated yet." do
167
167
  @rolling_deploy = true
168
168
  end
169
169
 
170
- opts.on '-A', '--activate-key', 'Activates the key by moving the key with the highest version to the top.' do
170
+ opts.on "-A", "--activate-key", "Activates the key by moving the key with the highest version to the top." do
171
171
  @activate_key = true
172
172
  end
173
173
 
174
- opts.on '-X', '--cleanup-keys', 'Removes all encryption keys, except the one with the highest version from the configuration file.' do
174
+ opts.on "-X", "--cleanup-keys", "Removes all encryption keys, except the one with the highest version from the configuration file." do
175
175
  @cleanup_keys = true
176
176
  end
177
177
 
178
- opts.on '-V', '--key-version NUMBER', 'Encryption key version to use when encrypting or re-encrypting. Default: (Current global version).' do |number|
178
+ opts.on "-V", "--key-version NUMBER", "Encryption key version to use when encrypting or re-encrypting. Default: (Current global version)." do |number|
179
179
  @version = number.to_i
180
180
  end
181
181
 
182
- opts.on '-L', '--ciphers', 'List available OpenSSL ciphers.' do
182
+ opts.on "-L", "--ciphers", "List available OpenSSL ciphers." do
183
183
  puts "OpenSSL v#{OpenSSL::VERSION}. Available Ciphers:"
184
184
  puts OpenSSL::Cipher.ciphers.join("\n")
185
185
  exit
186
186
  end
187
187
 
188
- opts.on '-v', '--version', 'Display Symmetric Encryption version.' do
188
+ opts.on "-v", "--version", "Display Symmetric Encryption version." do
189
189
  @show_version = true
190
190
  end
191
191
 
192
- opts.on('-h', '--help', 'Prints this help.') do
192
+ opts.on("-h", "--help", "Prints this help.") do
193
193
  puts opts
194
194
  exit
195
195
  end
@@ -212,7 +212,7 @@ module SymmetricEncryption
212
212
 
213
213
  config_file_does_not_exist!
214
214
  self.environments ||= %i[development test release production]
215
- args = {
215
+ args = {
216
216
  app_name: app_name,
217
217
  environments: environments,
218
218
  cipher_name: cipher_name
@@ -255,7 +255,7 @@ module SymmetricEncryption
255
255
  next if environments && !environments.include?(env.to_sym)
256
256
  next unless ciphers = cfg[:ciphers]
257
257
 
258
- highest = ciphers.max_by { |i| i[:version] }
258
+ highest = ciphers.max_by { |i| i[:version] }
259
259
  ciphers.clear
260
260
  ciphers << highest
261
261
  end
@@ -270,7 +270,7 @@ module SymmetricEncryption
270
270
  next if environments && !environments.include?(env.to_sym)
271
271
  next unless ciphers = cfg[:ciphers]
272
272
 
273
- highest = ciphers.max_by { |i| i[:version] }
273
+ highest = ciphers.max_by { |i| i[:version] }
274
274
  ciphers.delete(highest)
275
275
  ciphers.unshift(highest)
276
276
  end
@@ -289,22 +289,22 @@ module SymmetricEncryption
289
289
 
290
290
  def decrypt_string
291
291
  begin
292
- require 'highline'
292
+ require "highline"
293
293
  rescue LoadError
294
294
  puts("\nPlease install gem highline before using the command line task to decrypt an entered string.\n gem install \"highline\"\n\n")
295
295
  exit(-2)
296
296
  end
297
297
 
298
- encrypted = HighLine.new.ask('Enter the value to decrypt:')
298
+ encrypted = HighLine.new.ask("Enter the value to decrypt:")
299
299
  text = SymmetricEncryption.cipher(version).decrypt(encrypted)
300
300
 
301
301
  puts("\n\nEncrypted: #{encrypted}")
302
- output_file_name ? File.open(output_file_name, 'wb') { |f| f << text } : puts("Decrypted: #{text}\n\n")
302
+ output_file_name ? File.open(output_file_name, "wb") { |f| f << text } : puts("Decrypted: #{text}\n\n")
303
303
  end
304
304
 
305
305
  def encrypt_string
306
306
  begin
307
- require 'highline'
307
+ require "highline"
308
308
  rescue LoadError
309
309
  puts("\nPlease install gem highline before using the command line task to encrypt an entered string.\n gem install \"highline\"\n\n")
310
310
  exit(-2)
@@ -313,14 +313,14 @@ module SymmetricEncryption
313
313
  value2 = 0
314
314
 
315
315
  while value1 != value2
316
- value1 = HighLine.new.ask('Enter the value to encrypt:') { |q| q.echo = '*' }
317
- value2 = HighLine.new.ask('Re-enter the value to encrypt:') { |q| q.echo = '*' }
316
+ value1 = HighLine.new.ask("Enter the value to encrypt:") { |q| q.echo = "*" }
317
+ value2 = HighLine.new.ask("Re-enter the value to encrypt:") { |q| q.echo = "*" }
318
318
 
319
- puts('Values do not match, please try again') if value1 != value2
319
+ puts("Values do not match, please try again") if value1 != value2
320
320
  end
321
321
  compress = false if compress.nil?
322
322
  encrypted = SymmetricEncryption.cipher(version).encrypt(value1, compress: compress)
323
- output_file_name ? File.open(output_file_name, 'wb') { |f| f << encrypted } : puts("\n\nEncrypted: #{encrypted}\n\n")
323
+ output_file_name ? File.open(output_file_name, "wb") { |f| f << encrypted } : puts("\n\nEncrypted: #{encrypted}\n\n")
324
324
  end
325
325
 
326
326
  def gen_random_password(size)
@@ -328,7 +328,7 @@ module SymmetricEncryption
328
328
  puts("\nGenerated Password: #{p}")
329
329
  encrypted = SymmetricEncryption.encrypt(p)
330
330
  puts("Encrypted: #{encrypted}\n\n")
331
- File.open(output_file_name, 'wb') { |f| f << encrypted } if output_file_name
331
+ File.open(output_file_name, "wb") { |f| f << encrypted } if output_file_name
332
332
  end
333
333
 
334
334
  def current_version