cryptonite 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/lib/cryptonite/version.rb +1 -1
- data/lib/cryptonite.rb +2 -2
- data/spec/cryptonite_spec.rb +29 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61b63389dfd44213ac19433d8410d60b9929adc0
|
4
|
+
data.tar.gz: 92b6e2b12c1587e944dae4697094c58d6ae0e633
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8f067fbb753372ae450dc63f318adb03230b3c6253d543fa279e335b6f856de4d2b9f43c0701004d153192b5f2ab68da1cf16133b7fa4338287d952671a4817
|
7
|
+
data.tar.gz: 30f171edf9098386760dc322a9398342ab48e035d22ad13b5de712a3a5fccca33e180a6be40efdaf3153c2cbdc045d10daf68ad6a596cff85c0ea83db48c3d3a
|
data/lib/cryptonite/version.rb
CHANGED
data/lib/cryptonite.rb
CHANGED
@@ -76,14 +76,14 @@ module Cryptonite
|
|
76
76
|
# Encrypts a value with public key encryption. Keys should be defined in
|
77
77
|
# environment.
|
78
78
|
def encrypt(value)
|
79
|
-
Base64.encode64(@key.public_encrypt(value))
|
79
|
+
Base64.encode64(@key.public_encrypt(value)) if value
|
80
80
|
end
|
81
81
|
alias :dump :encrypt
|
82
82
|
|
83
83
|
# Decrypts a value with public key encryption. Keys should be defined in
|
84
84
|
# environment.
|
85
85
|
def decrypt(value)
|
86
|
-
@key.private_decrypt(Base64.decode64(value))
|
86
|
+
@key.private_decrypt(Base64.decode64(value)) if value
|
87
87
|
end
|
88
88
|
alias :load :decrypt
|
89
89
|
end
|
data/spec/cryptonite_spec.rb
CHANGED
@@ -26,7 +26,7 @@ describe Cryptonite do
|
|
26
26
|
end
|
27
27
|
}
|
28
28
|
|
29
|
-
context "with
|
29
|
+
context "with private key" do
|
30
30
|
before do
|
31
31
|
subject.tap { |obj| obj.attr_encrypted :secret, key_pair: PRIVATE_FIXTURE_KEY }
|
32
32
|
end
|
@@ -51,6 +51,20 @@ describe Cryptonite do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
+
it 'handles nil values' do
|
55
|
+
subject.new(secret: nil).tap do |instance|
|
56
|
+
expect(
|
57
|
+
instance.instance_variable_get(:@attributes).send(:fetch, 'secret').serialized_value
|
58
|
+
).to be_nil
|
59
|
+
end
|
60
|
+
|
61
|
+
subject.new.tap do |instance|
|
62
|
+
instance.instance_variable_get(:@attributes).send(:fetch, 'secret').value = nil
|
63
|
+
|
64
|
+
expect(instance.secret).to be_nil
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
54
68
|
it 'encrypts and decrypts field in database' do
|
55
69
|
secret = SecureRandom.hex(16)
|
56
70
|
|
@@ -88,5 +102,19 @@ describe Cryptonite do
|
|
88
102
|
expect{ instance.secret }.to raise_error OpenSSL::PKey::RSAError
|
89
103
|
end
|
90
104
|
end
|
105
|
+
|
106
|
+
it 'handles nil values' do
|
107
|
+
subject.new(secret: nil).tap do |instance|
|
108
|
+
expect(
|
109
|
+
instance.instance_variable_get(:@attributes).send(:fetch, 'secret').serialized_value
|
110
|
+
).to be_nil
|
111
|
+
end
|
112
|
+
|
113
|
+
subject.new.tap do |instance|
|
114
|
+
instance.instance_variable_get(:@attributes).send(:fetch, 'secret').value = nil
|
115
|
+
|
116
|
+
expect(instance.secret).to be_nil
|
117
|
+
end
|
118
|
+
end
|
91
119
|
end
|
92
120
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cryptonite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GaggleAMP
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
version: '0'
|
148
148
|
requirements: []
|
149
149
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
150
|
+
rubygems_version: 2.4.2
|
151
151
|
signing_key:
|
152
152
|
specification_version: 4
|
153
153
|
summary: Enables the encryption of specific ActiveRecord attributes.
|
@@ -156,4 +156,3 @@ test_files:
|
|
156
156
|
- spec/fixtures/keys/private.pem
|
157
157
|
- spec/fixtures/keys/public.pem
|
158
158
|
- spec/spec_helper.rb
|
159
|
-
has_rdoc:
|