vault-tree 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,3 +1,5 @@
1
+ Vagrantfile
2
+
1
3
  # Do not Check In Gemfile.lock
2
4
  Gemfile.lock
3
5
 
@@ -19,31 +19,23 @@ module VaultTree
19
19
  end
20
20
 
21
21
  def filler
22
- KeywordInterpreter.new(properties['fill_with'], self).evaluate
22
+ interpret_keyword('fill_with')
23
23
  end
24
24
 
25
25
  def locking_key
26
- VaultKey.new KeywordInterpreter.new(properties['lock_with'], self).evaluate
26
+ VaultKey.new interpret_keyword('lock_with')
27
27
  end
28
28
 
29
29
  def unlocking_key
30
- VaultKey.new KeywordInterpreter.new(properties['unlock_with'], self).evaluate
30
+ VaultKey.new interpret_keyword('unlock_with')
31
31
  end
32
32
 
33
33
  def locked_contents
34
- begin
35
- already_locked? ? properties['contents'] : ciphertext(filler)
36
- rescue RbNaCl::CryptoError => e
37
- raise Exceptions::FailedLockAttempt.new(e, vault_id: id)
38
- end
34
+ already_locked? ? properties['contents'] : ciphertext(filler)
39
35
  end
40
36
 
41
37
  def unlocked_contents
42
- begin
43
- plaintext properties['contents']
44
- rescue RbNaCl::CryptoError => e
45
- raise Exceptions::FailedUnlockAttempt.new(e, vault_id: id)
46
- end
38
+ plaintext properties['contents']
47
39
  end
48
40
 
49
41
  def ciphertext(m)
@@ -58,5 +50,9 @@ module VaultTree
58
50
  ! (properties['contents'].nil? || properties['contents'].empty?)
59
51
  end
60
52
 
53
+ def interpret_keyword(prop_key)
54
+ KeywordInterpreter.new(properties[prop_key], self).evaluate
55
+ end
56
+
61
57
  end
62
58
  end
@@ -8,14 +8,22 @@ module VaultTree
8
8
  end
9
9
 
10
10
  def close_vault(id)
11
- validate_vault(id)
12
- update_vaults vault(id).close
13
- self
11
+ begin
12
+ validate_vault(id)
13
+ update_vaults(id, vault(id).close)
14
+ self
15
+ rescue RbNaCl::CryptoError => e
16
+ raise Exceptions::FailedLockAttempt.new(e, vault_id: id)
17
+ end
14
18
  end
15
19
 
16
20
  def open_vault(id)
17
- validate_vault(id)
18
- vault(id).open
21
+ begin
22
+ validate_vault(id)
23
+ vault(id).open
24
+ rescue RbNaCl::CryptoError => e
25
+ raise Exceptions::FailedUnlockAttempt.new(e, vault_id: id)
26
+ end
19
27
  end
20
28
 
21
29
  def vault_closed?(id)
@@ -36,8 +44,8 @@ module VaultTree
36
44
  vaults_hash[id]['contents'].nil? || vaults_hash[id]['contents'].empty?
37
45
  end
38
46
 
39
- def update_vaults(vault)
40
- @vaults_hash[vault.id] = vault.properties unless vault.kind_of?(NullVault)
47
+ def update_vaults(id, vault)
48
+ @vaults_hash[id] = vault.properties unless vault.kind_of?(NullVault)
41
49
  end
42
50
 
43
51
  def vault(id)
@@ -1,4 +1,4 @@
1
- require 'rbnacl'
1
+ require 'rbnacl/libsodium'
2
2
  require_relative 'lock_smith/assembled_shamir_key'
3
3
 
4
4
  module VaultTree
@@ -1,3 +1,3 @@
1
1
  module VaultTree
2
- VERSION = '0.6.0'
2
+ VERSION = '0.8.0'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  require 'rspec'
2
- require 'JSON'
2
+ require 'json'
3
3
  require_relative '../lib/vault-tree/lock_smith/shamir_key_shares'
4
4
 
5
5
  module VaultTree
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "rbnacl", "2.0.0"
21
+ spec.add_dependency "rbnacl-libsodium"
22
22
  spec.add_dependency "secretsharing", "0.3"
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rspec"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vault-tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-27 00:00:00.000000000 Z
12
+ date: 2014-08-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rbnacl
15
+ name: rbnacl-libsodium
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - '='
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.0.0
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - '='
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 2.0.0
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: secretsharing
32
32
  requirement: !ruby/object:Gem::Requirement