kbsecret 0.3.5 → 0.3.6

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 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