Skip to content

Commit 68aeed8

Browse files
committed
Fix OpenSSL error with empty string reported in #1
1 parent 997232a commit 68aeed8

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/kms_rails/active_record.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def kms_attr(field, key_id:, retain: false, msgpack: false, context_key: nil, co
2020
enc = Core.new(key_id: key_id, msgpack: msgpack, context_key: context_key, context_value: context_value)
2121

2222
define_method "#{field}=" do |data|
23-
if data.nil? # Just set to nil if nil
23+
if data.blank? # Just set to nil if nil
2424
clear_retained(field)
2525
self[real_field] = nil
2626
return

spec/kms_rails/active_record_spec.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@
164164
subject.the_secret = 'foo'
165165
expect { subject.the_secret = nil }.to change { subject['the_secret_enc'] }.to(nil)
166166
end
167+
168+
it 'sets the field to nil if called with empty string' do
169+
subject.the_secret = 'foo'
170+
expect { subject.the_secret = '' }.to change { subject['the_secret_enc'] }.to(nil)
171+
end
167172
end
168173

169174
context '#the_secret' do

0 commit comments

Comments
 (0)