spare_keys 1.0.0 → 1.1.1

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/spare_keys.rb +20 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9b94b0eda4e51b2b148b20cf0ee0eee82cdb894
4
- data.tar.gz: b9b74df48d7e8f8c8cb714ca221121c0717781e0
3
+ metadata.gz: 12c38c87a8453bd4d5ee296abe4403b34d190f53
4
+ data.tar.gz: e5140c2d52d007e48ef040696556caf0d7567b33
5
5
  SHA512:
6
- metadata.gz: 2cb40f2a8c219607828b1bd074f7ee603116593c70653986e626c1baf22f0afd7d9624bf414ae14f42d16c47c94970c5fd39f6bc9d885e7f941509808ee7cd58
7
- data.tar.gz: 4e15ac6554ae06a38589b6688927471dd0ba0a6ac4ac30b89af63410aba5a61f3e737d16adf9c021481e0017ebf02e94e68ad97be33ced79eeac17a9b173da41
6
+ metadata.gz: dc39702fe86ee4814f267f36adeebdf856e3f24e11e899e9e9fa7b1acbcb91bf9a2271b31f94b69e6aa07c73c1cfba584c5547fc3464e0d8ae16a398f1fc1c0c
7
+ data.tar.gz: 2a1f2801aada5d5ffcdc4c23b22505253f22e6106694b6962cc78c018a794b80e171e3205ab2b870593c495df10b778651a5ba10a5dd686b6da3058ccc26764a
data/lib/spare_keys.rb CHANGED
@@ -44,7 +44,9 @@ class SpareKeys
44
44
  require 'securerandom'
45
45
 
46
46
  password = SecureRandom.hex
47
- temp_keychain = Dir::Tmpname.make_tmpname(['spare-keys-', '.keychain'], nil)
47
+
48
+ extension = keychain_extension()
49
+ temp_keychain = Dir::Tmpname.make_tmpname(['spare-keys-', extension], nil)
48
50
 
49
51
  `security create-keychain -p "#{password}" #{temp_keychain}`
50
52
  `security unlock-keychain -p "#{password}" #{temp_keychain}`
@@ -52,7 +54,7 @@ class SpareKeys
52
54
  if block_given?
53
55
  begin
54
56
  use_keychain(temp_keychain, clear_list, type) {
55
- yield temp_keychain
57
+ yield temp_keychain, password
56
58
  }
57
59
  ensure
58
60
  `security delete-keychain #{temp_keychain}`
@@ -62,4 +64,20 @@ class SpareKeys
62
64
  end
63
65
  end
64
66
 
67
+ private
68
+
69
+ def self.keychain_extension()
70
+ return is_sierra() ? '.keychain-db' : '.keychain'
71
+ end
72
+
73
+ def self.is_sierra()
74
+
75
+ osVersion = `sysctl -n kern.osrelease`
76
+
77
+ majorOsVersion = Integer(osVersion.split('.')[0])
78
+
79
+ return majorOsVersion >= 16 # Sierra
80
+
81
+ end
82
+
65
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spare_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Szalay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-09 00:00:00.000000000 Z
11
+ date: 2016-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec