kbsecret 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eb7d10f444c4875844599ef7cea9ba58beafceea
4
- data.tar.gz: 8aaa914e08e66640d5b7f7f0a19234cb7e710345
3
+ metadata.gz: aafa31104e34d5e24baa546e26a05fd9cd695054
4
+ data.tar.gz: 860ddcb29cdc1d2e0a053d8910af5dd0b7e7cc1a
5
5
  SHA512:
6
- metadata.gz: 48a40c37b778e6405d1528b93eb135b8f597b0d935d89de132a7144d1ff005343803dc00a77a6f7ac0f503f75662d5d0f1dee34a6f0a54ceb545ed0621296c19
7
- data.tar.gz: 0cafc5bb7b6be04a730578ed23a17e0a308102e79250a7550b0faf218b57623b63adfe823dd2420742fa74abbd9b91ec167cd141dfd10484559b37543fabf4f1
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
- $ RUBYLIB=./lib PATH=./bin:${PATH} ./bin/kbsecret help
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
@@ -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 < RuntimeError
16
+ class RecordCreationArityError < KBSecretError
10
17
  def initialize(exp, act)
11
18
  super "Needed #{exp} arguments for this record, got #{act}"
12
19
  end
@@ -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
- arity = klass.instance_method(:initialize).arity - 2
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.2"
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.2
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-10 00:00:00.000000000 Z
11
+ date: 2017-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: keybase-unofficial
14
+ name: clipboard
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.7
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: 0.0.7
26
+ version: '1.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: slop
28
+ name: keybase-unofficial
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.4'
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: '4.4'
40
+ version: 0.0.8
41
41
  - !ruby/object:Gem::Dependency
42
- name: tty-prompt
42
+ name: pastel
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.10.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.10.0
54
+ version: '0.7'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pastel
56
+ name: slop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.7'
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: '0.7'
68
+ version: '4.4'
69
69
  - !ruby/object:Gem::Dependency
70
- name: clipboard
70
+ name: tty-prompt
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.1'
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: '1.1'
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: