kbsecret 0.4.2 → 0.4.3
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/README.md +3 -1
- data/lib/kbsecret/exceptions.rb +8 -1
- data/lib/kbsecret/session.rb +4 -2
- data/lib/kbsecret.rb +1 -1
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aafa31104e34d5e24baa546e26a05fd9cd695054
|
4
|
+
data.tar.gz: 860ddcb29cdc1d2e0a053d8910af5dd0b7e7cc1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d58a6e350bd3972be81081ac70b3832e92b51ebb59d0fbe9a50c3bd36720c2e5e4051dd49c3666122fd6598e96b0ad38a4e911e80cd71a5f899217a8f1a78f2
|
7
|
+
data.tar.gz: b5222b237f8ad4caff0869f431a090e7522ffd882cf600e0731d074c981fed2761709ec47bb9bd6a0969bc26d4f3f4e7f18c4a64c3b3207380c31f879e731c3d
|
data/README.md
CHANGED
@@ -30,7 +30,8 @@ For hacking:
|
|
30
30
|
|
31
31
|
```bash
|
32
32
|
$ git clone git@github.com:woodruffw/kbsecret.git && cd kbsecret
|
33
|
-
$
|
33
|
+
$ bundle install
|
34
|
+
$ RUBYLIB=./lib PATH=./bin:${PATH} bundle exec ./bin/kbsecret help
|
34
35
|
```
|
35
36
|
|
36
37
|
Documentation is available on [RubyDoc](http://www.rubydoc.info/gems/kbsecret/).
|
@@ -104,3 +105,4 @@ Please feel free to contribute completion scripts for other shells!
|
|
104
105
|
* zsh/fish completions
|
105
106
|
* facility for moving sessions (add users, change session label, etc)
|
106
107
|
* glob for available sessions instead of requiring explicit configuration
|
108
|
+
* complete general record unit tests, individual unit tests for record types and utilities
|
data/lib/kbsecret/exceptions.rb
CHANGED
@@ -5,8 +5,15 @@ module KBSecret
|
|
5
5
|
class KBSecretError < RuntimeError
|
6
6
|
end
|
7
7
|
|
8
|
+
# Raised during record creation if an unknown record type is requested.
|
9
|
+
class RecordTypeUnknownError < KBSecretError
|
10
|
+
def initialize(type)
|
11
|
+
super "Unknown record type: #{type}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
8
15
|
# Raised during record creation if too many/few arguments are given.
|
9
|
-
class RecordCreationArityError <
|
16
|
+
class RecordCreationArityError < KBSecretError
|
10
17
|
def initialize(exp, act)
|
11
18
|
super "Needed #{exp} arguments for this record, got #{act}"
|
12
19
|
end
|
data/lib/kbsecret/session.rb
CHANGED
@@ -50,12 +50,15 @@ module KBSecret
|
|
50
50
|
# @param label [Symbol] the new record's label
|
51
51
|
# @param args [Array<String>] the record-type specific arguments
|
52
52
|
# @return [void]
|
53
|
+
# @raise UnknownRecordTypeError if the requested type does not exist
|
54
|
+
# in {Record.record_types}
|
53
55
|
# @raise RecordCreationArityError if the number of specified record
|
54
56
|
# arguments does not match the record type's constructor
|
55
57
|
def add_record(type, label, *args)
|
56
58
|
klass = Record.class_for(type.to_sym)
|
57
|
-
|
59
|
+
raise RecordTypeUnknownError, type unless klass
|
58
60
|
|
61
|
+
arity = klass.instance_method(:initialize).arity - 2
|
59
62
|
raise RecordCreationArityError.new(arity, args.size) unless arity == args.size
|
60
63
|
|
61
64
|
record = klass.new(self, label, *args)
|
@@ -91,7 +94,6 @@ module KBSecret
|
|
91
94
|
end
|
92
95
|
|
93
96
|
# @return [Array<String>] the fully qualified paths of all records in the session
|
94
|
-
# @api private
|
95
97
|
def record_paths
|
96
98
|
Dir[File.join(directory, "*.json")]
|
97
99
|
end
|
data/lib/kbsecret.rb
CHANGED
@@ -11,7 +11,7 @@ require_relative "kbsecret/cli"
|
|
11
11
|
# The primary namespace for kbsecret.
|
12
12
|
module KBSecret
|
13
13
|
# kbsecret's current version
|
14
|
-
VERSION = "0.4.
|
14
|
+
VERSION = "0.4.3"
|
15
15
|
|
16
16
|
# fail very early if the user doesn't have keybase and KBFS running
|
17
17
|
raise Keybase::KeybaseNotRunningError unless Keybase.running?
|
metadata
CHANGED
@@ -1,85 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kbsecret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Woodruff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: clipboard
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '1.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: keybase-unofficial
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.0.8
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.0.8
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: pastel
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: '0.7'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: '0.7'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: slop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '4.4'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '4.4'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: tty-prompt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.10.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.10.0
|
83
83
|
description: Manages your passwords, environment, and more via KBFS.
|
84
84
|
email: william@tuffbizz.com
|
85
85
|
executables:
|