kbsecret 0.3.5 → 0.3.6

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: 8b802b8fb4a82e3770e3499246ae1a6762cab0b8
4
- data.tar.gz: 0bf498fbdc1ba933f8b05c44d44bd6ba13305bbd
3
+ metadata.gz: 84a1ecab08084cc71d8fb221a3a66984ca666e4b
4
+ data.tar.gz: cb5712d9720862406333252f437cf690b56f3f59
5
5
  SHA512:
6
- metadata.gz: 4c507fc4cd4ab5652ea9f60a4307297c6754b07d4bac54bb7b80fc155850cdb9f0620151ac68386f58559208c7b7d51554e4eaca3d5f7f8fbdeb081ab11c97f2
7
- data.tar.gz: f26e2393541371c80f2354d2f397221130b19c607075d974241872fb3381da85f29757f5f4eb3c5f43882a0fed3b35c1f70f691dcf6ae699d0271a1622ee1751
6
+ metadata.gz: 710f4ed51abb06d69d8287fd496b2e18545ca36c895d388bdba991faa87ffb57a511a6f582ea06ed0d5230e16ce5d8dfc18a4d4b4563a18c3f79ea701a3676ad
7
+ data.tar.gz: 71e11b76e2f36dce94006e4b31bd421d712aa2101f6ec721030b32390feec0afb157be25194050bd2befecd48d4cfc61560cc483a95c18ace30ae0d0213b7bfb
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Dump all fields for the given record.
10
9
 
@@ -15,16 +14,6 @@ opts = Slop.parse suppress_errors: true do |o|
15
14
  o.string "-s", "--session", "the session name", default: :default
16
15
  o.bool "-x", "--terse", "output in field:value format"
17
16
  o.string "-i", "--ifs", "separate terse pairs with this string", default: ":"
18
-
19
- o.on "-h", "--help" do
20
- puts o
21
- exit
22
- end
23
-
24
- o.on "--introspect-flags" do
25
- puts o.options.flat_map(&:flags).join "\n"
26
- exit
27
- end
28
17
  end
29
18
 
30
19
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-env CHANGED
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Retrieve environment records in a source-able format.
10
9
 
@@ -19,16 +18,6 @@ opts = Slop.parse suppress_errors: true do |o|
19
18
  o.string "-s", "--session", "the session name", default: :default
20
19
  o.bool "-a", "--all", "retrieve all environment records, not just listed ones"
21
20
  o.bool "-v", "--value-only", "print only the environment value, not the key"
22
-
23
- o.on "-h", "--help" do
24
- puts o
25
- exit
26
- end
27
-
28
- o.on "--introspect-flags" do
29
- puts o.options.flat_map(&:flags).join "\n"
30
- exit
31
- end
32
21
  end
33
22
 
34
23
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-list CHANGED
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  List all secrets known to the specified session (or the default session).
10
9
 
@@ -15,16 +14,6 @@ opts = Slop.parse suppress_errors: true do |o|
15
14
  o.string "-s", "--session", "the session name", default: :default
16
15
  o.string "-t", "--type", "the type of secrets to list", default: nil
17
16
  o.bool "-a", "--show-all", "show everything in each secret (i.e. metadata)"
18
-
19
- o.on "-h", "--help" do
20
- puts o
21
- exit
22
- end
23
-
24
- o.on "--introspect-flags" do
25
- puts o.options.flat_map(&:flags).join "\n"
26
- exit
27
- end
28
17
  end
29
18
 
30
19
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-login CHANGED
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Retrieve login records.
10
9
 
@@ -20,16 +19,6 @@ opts = Slop.parse suppress_errors: true do |o|
20
19
  o.bool "-a", "--all", "retrieve all login records, not just listed ones"
21
20
  o.bool "-x", "--terse", "output in label:username:password format"
22
21
  o.string "-i", "--ifs", "separate terse fields with this string", default: ":"
23
-
24
- o.on "-h", "--help" do
25
- puts o
26
- exit
27
- end
28
-
29
- o.on "--introspect-flags" do
30
- puts o.options.flat_map(&:flags).join "\n"
31
- exit
32
- end
33
22
  end
34
23
 
35
24
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-new CHANGED
@@ -2,14 +2,13 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
  require "abbrev"
7
6
  require "tty-prompt"
8
7
 
9
8
  # allows for abbreviated types (e.g., `kbsecret new env ...`)
10
9
  TYPE_ALIASES = Abbrev.abbrev(KBSecret::Record.record_types).freeze
11
10
 
12
- opts = Slop.parse suppress_errors: true do |o|
11
+ opts = KBSecret::CLI.slop do |o|
13
12
  o.banner = <<~EOS
14
13
  Create a new secret record.
15
14
 
@@ -27,16 +26,6 @@ opts = Slop.parse suppress_errors: true do |o|
27
26
  o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
28
27
  o.bool "-i", "--interactive", "input record fields interactively"
29
28
  o.bool "-e", "--echo", "echo input to tty (only affects --interactive)"
30
-
31
- o.on "-h", "--help" do
32
- puts o
33
- exit
34
- end
35
-
36
- o.on "--introspect-flags" do
37
- puts o.options.flat_map(&:flags).join "\n"
38
- exit
39
- end
40
29
  end
41
30
 
42
31
  session = KBSecret::CLI.ensure_session opts[:session]
@@ -3,9 +3,8 @@
3
3
 
4
4
  require "keybase"
5
5
  require "kbsecret"
6
- require "slop"
7
6
 
8
- opts = Slop.parse suppress_errors: true do |o|
7
+ opts = KBSecret::CLI.slop do |o|
9
8
  o.banner = <<~EOS
10
9
  Create a new session.
11
10
 
@@ -20,16 +19,6 @@ opts = Slop.parse suppress_errors: true do |o|
20
19
  o.array "-u", "--users", "the keybase users", default: [Keybase.current_user]
21
20
  o.string "-r", "--root", "the secret root directory", default: "kbsecret"
22
21
  o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
23
-
24
- o.on "-h", "--help" do
25
- puts o
26
- exit
27
- end
28
-
29
- o.on "--introspect-flags" do
30
- puts o.options.flat_map(&:flags).join "\n"
31
- exit
32
- end
33
22
  end
34
23
 
35
24
  session_label = opts[:label]
data/bin/kbsecret-pass CHANGED
@@ -2,10 +2,9 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
  require "clipboard"
7
6
 
8
- opts = Slop.parse suppress_errors: true do |o|
7
+ opts = KBSecret::CLI.slop do |o|
9
8
  o.banner = <<~EOS
10
9
  Retrieve a login record's password.
11
10
 
@@ -19,16 +18,6 @@ opts = Slop.parse suppress_errors: true do |o|
19
18
 
20
19
  o.string "-s", "--session", "the session name", default: :default
21
20
  o.bool "-c", "--clipboard", "dump the password in the clipboard"
22
-
23
- o.on "-h", "--help" do
24
- puts o
25
- exit
26
- end
27
-
28
- o.on "--introspect-flags" do
29
- puts o.options.flat_map(&:flags).join "\n"
30
- exit
31
- end
32
21
  end
33
22
 
34
23
  session = KBSecret::CLI.ensure_session opts[:session]
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Edit the raw JSON of a record in $EDITOR.
10
9
 
@@ -16,16 +15,6 @@ opts = Slop.parse suppress_errors: true do |o|
16
15
  EOS
17
16
 
18
17
  o.string "-s", "--session", "the session name", default: :default
19
-
20
- o.on "-h", "--help" do
21
- puts o
22
- exit
23
- end
24
-
25
- o.on "--introspect-flags" do
26
- puts o.options.flat_map(&:flags).join "\n"
27
- exit
28
- end
29
18
  end
30
19
 
31
20
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-rm CHANGED
@@ -2,12 +2,11 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
  require "tty-prompt"
7
6
 
8
7
  $VERBOSE = nil # tty-prompt blasts us with irrelevant warnings on 2.4
9
8
 
10
- opts = Slop.parse suppress_errors: true do |o|
9
+ opts = KBSecret::CLI.slop do |o|
11
10
  o.banner = <<~EOS
12
11
  Delete a record.
13
12
 
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
17
16
 
18
17
  o.string "-s", "--session", "the session name", default: :default
19
18
  o.bool "-i", "--interactive", "ask for confirmation before deleting"
20
-
21
- o.on "-h", "--help" do
22
- puts o
23
- exit
24
- end
25
-
26
- o.on "--introspect-flags" do
27
- puts o.options.flat_map(&:flags).join "\n"
28
- exit
29
- end
30
19
  end
31
20
 
32
21
  session = KBSecret::CLI.ensure_session opts[:session]
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Deconfigure (and optionally delete) a session.
10
9
 
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
17
16
  EOS
18
17
 
19
18
  o.bool "-d", "--delete", "unlink the session in addition to deconfiguration"
20
-
21
- o.on "-h", "--help" do
22
- puts o
23
- exit
24
- end
25
-
26
- o.on "--introspect-flags" do
27
- puts o.options.flat_map(&:flags).join "\n"
28
- exit
29
- end
30
19
  end
31
20
 
32
21
  label = opts.args.shift
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  List all available sessions.
10
9
  The sessions listed can be passed to other commands via the -s flag.
@@ -14,16 +13,6 @@ opts = Slop.parse suppress_errors: true do |o|
14
13
  EOS
15
14
 
16
15
  o.bool "-a", "--show-all", "show each session in depth (i.e. metadata)"
17
-
18
- o.on "-h", "--help" do
19
- puts o
20
- exit
21
- end
22
-
23
- o.on "--introspect-flags" do
24
- puts o.options.flat_map(&:flags).join "\n"
25
- exit
26
- end
27
16
  end
28
17
 
29
18
  KBSecret::Config.session_labels.each do |sess_name|
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop do |o|
8
7
  o.banner = <<~EOS
9
8
  Stash the given file (or stdin) as an unstructured record.
10
9
 
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
17
16
  EOS
18
17
 
19
18
  o.string "-s", "--session", "the session name", default: :default
20
-
21
- o.on "-h", "--help" do
22
- puts o
23
- exit
24
- end
25
-
26
- o.on "--introspect-flags" do
27
- puts o.options.flat_map(&:flags).join "\n"
28
- exit
29
- end
30
19
  end
31
20
 
32
21
  session = KBSecret::CLI.ensure_session opts[:session]
data/bin/kbsecret-todo CHANGED
@@ -2,9 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "kbsecret"
5
- require "slop"
6
5
 
7
- opts = Slop.parse suppress_errors: true do |o|
6
+ opts = KBSecret::CLI.slop cmds: %w[start suspend complete] do |o|
8
7
  o.banner = <<~EOS
9
8
  Manage 'to do' records.
10
9
 
@@ -18,18 +17,6 @@ opts = Slop.parse suppress_errors: true do |o|
18
17
  EOS
19
18
 
20
19
  o.string "-s", "--session", "the session name", default: :default
21
-
22
- o.on "-h", "--help" do
23
- puts o
24
- exit
25
- end
26
-
27
- o.on "--introspect-flags" do
28
- subcmds = %w[start suspend complete]
29
- comp = o.options.flat_map(&:flags) + subcmds
30
- puts comp.join "\n"
31
- exit
32
- end
33
20
  end
34
21
 
35
22
  session = KBSecret::CLI.ensure_session opts[:session]
data/lib/kbsecret/cli.rb CHANGED
@@ -1,12 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "pastel"
4
+ require "slop"
4
5
 
5
6
  module KBSecret
6
7
  # An encapsulation of useful methods for kbsecret's CLI.
7
8
  module CLI
8
9
  class << self
9
10
  # The pastel object used to generate colorful output.
11
+ # @api private
10
12
  PASTEL = Pastel.new
11
13
 
12
14
  # Print an error message and terminate.
@@ -27,6 +29,28 @@ module KBSecret
27
29
 
28
30
  Session.new label: sess_label
29
31
  end
32
+
33
+ # Parse arguments for a kbsecret utility, adding some default options for
34
+ # introspection and help output.
35
+ # @param cmds [Array<String>] additional commands to print in `--introspect-flags`
36
+ # @param errors [Boolean] whether or not to produce Slop errors
37
+ # @return [Slop::Result] the result of argument parsing
38
+ def slop(cmds: [], errors: false)
39
+ Slop.parse suppress_errors: !errors do |o|
40
+ yield o
41
+
42
+ o.on "-h", "--help" do
43
+ puts o
44
+ exit
45
+ end
46
+
47
+ o.on "--introspect-flags" do
48
+ comp = o.options.flat_map(&:flags) + cmds
49
+ puts comp.join "\n"
50
+ exit
51
+ end
52
+ end
53
+ end
30
54
  end
31
55
  end
32
56
  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.3.5"
14
+ VERSION = "0.3.6"
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kbsecret
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
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-05 00:00:00.000000000 Z
11
+ date: 2017-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: keybase-unofficial