attr_secure 0.3.0 → 0.4.0
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/attr_secure/secure.rb +6 -2
- data/lib/attr_secure/version.rb +1 -1
- data/spec/secure_spec.rb +45 -22
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d5fbb2605957a88f3fd11dcbc0f735fc8b993ed
|
4
|
+
data.tar.gz: faf03ade79777a0e6b02d86698a463ca004f3d4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16569f6996244494a91e44b0d07f2032596c466aa53d4e69c1fd91e06bb68bd1fe668a67d3a252f4907eb1088b25a8d0ec867061fa5a2c0e172b9b3b968e0bd0
|
7
|
+
data.tar.gz: 55292057514a6f91c1dd9f03d128e51a48a3e155694f5632a3f2656999c2d044130d534b61b6b6b96aec12dbd00cb93868b159844861d52aaeebeefdf1f96a41
|
data/lib/attr_secure/secure.rb
CHANGED
@@ -9,11 +9,15 @@ module AttrSecure
|
|
9
9
|
attr_reader :secret
|
10
10
|
|
11
11
|
def initialize(secret)
|
12
|
-
|
12
|
+
self.secret = secret
|
13
13
|
end
|
14
14
|
|
15
15
|
def secret=(val)
|
16
|
-
@secret =
|
16
|
+
@secret = if val.is_a? Array
|
17
|
+
val
|
18
|
+
else
|
19
|
+
val.split(",")
|
20
|
+
end
|
17
21
|
end
|
18
22
|
|
19
23
|
def encrypt(value)
|
data/lib/attr_secure/version.rb
CHANGED
data/spec/secure_spec.rb
CHANGED
@@ -3,8 +3,17 @@ require 'spec_helper'
|
|
3
3
|
describe AttrSecure::Secure do
|
4
4
|
context "with a simple key" do
|
5
5
|
|
6
|
-
subject
|
7
|
-
let(:
|
6
|
+
subject { described_class.new(secret1) }
|
7
|
+
let(:secret1) { 'fWSvpC6Eh1/FFE1TUgXpcEzMmmGc9IZSqoexzEslzKI=' }
|
8
|
+
let(:secret2) { 'd9ssNmUYn7UpMoSc0eM2glVUG2DPYwXveLTDU7j8pBY=' }
|
9
|
+
|
10
|
+
describe '#secret=' do
|
11
|
+
it "should update the list of secrets" do
|
12
|
+
expect(subject.secret).to eq([secret1])
|
13
|
+
subject.secret = secret2
|
14
|
+
expect(subject.secret).to eq([secret2])
|
15
|
+
end
|
16
|
+
end
|
8
17
|
|
9
18
|
describe '#encrypt' do
|
10
19
|
it "should encrypt a string" do
|
@@ -23,24 +32,38 @@ describe AttrSecure::Secure do
|
|
23
32
|
end
|
24
33
|
end
|
25
34
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
35
|
+
[ ->(*secrets) { secrets.join(',') },
|
36
|
+
->(*secrets) { secrets } ].each do |make_secret|
|
37
|
+
context "with an array of keys" do
|
38
|
+
subject { described_class.new(make_secret.call(secret1, secret2)) }
|
39
|
+
let(:secret1) { 'fWSvpC6Eh1/FFE1TUgXpcEzMmmGc9IZSqoexzEslzKI=' }
|
40
|
+
let(:secret2) { 'd9ssNmUYn7UpMoSc0eM2glVUG2DPYwXveLTDU7j8pBY=' }
|
41
|
+
|
42
|
+
describe '#secret=' do
|
43
|
+
it "should update the list of secrets" do
|
44
|
+
expect(subject.secret).to eq([secret1, secret2])
|
45
|
+
subject.secret = make_secret.call(secret2, secret1)
|
46
|
+
expect(subject.secret).to eq([secret2, secret1])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#encrypt' do
|
51
|
+
it "should encrypt a string" do
|
52
|
+
expect(subject.encrypt('encrypted')).to be_a(String)
|
53
|
+
expect(subject.encrypt('encrypted')).to_not be_empty
|
54
|
+
expect(subject.encrypt('encrypted')).to_not eq(subject.encrypt('encrypted'))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe '#decrypt' do
|
59
|
+
let(:encrypted_value) { subject.encrypt('decrypted') }
|
60
|
+
|
61
|
+
it "should decrypt a string" do
|
62
|
+
expect(subject.decrypt(encrypted_value)).to eq('decrypted')
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
46
69
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attr_secure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neil Middleton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|