Class: Sym::App::Commands::ShowExamples
- Inherits:
-
BaseCommand
- Object
- BaseCommand
- Sym::App::Commands::ShowExamples
- Defined in:
- lib/sym/app/commands/show_examples.rb
Constant Summary
Constants included from Sym
Instance Method Summary collapse
Methods included from Sym
config, default_key, default_key?, default_key_file
Constructor Details
This class inherits a constructor from Sym::App::Commands::BaseCommand
Instance Method Details
#example(comment: nil, command: nil, echo: nil, result: nil) ⇒ Object
73 74 75 76 77 78 79 80 |
# File 'lib/sym/app/commands/show_examples.rb', line 73 def example(comment: nil, command: nil, echo: nil, result: nil) out = [] out << "# #{comment}".white.dark.italic if comment out << command if command out << echo if echo out << result if result out << ('—'*80) end |
#execute ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/sym/app/commands/show_examples.rb', line 10 def execute output = [] output << example(comment: 'generate a new private key into an environment variable:', command: 'export mykey=$(sym -g)', echo: 'echo $mykey', result: '75ngenJpB6zL47/8Wo7Ne6JN1pnOsqNEcIqblItpfg4='.green) output << example(comment: 'generate a new key with a cached password & save to the default key file', command: "sym -gcpqo #{Sym.default_key_file}", echo: "New Password : #{'••••••••••'.green}", result: "Confirm Password : #{'••••••••••'.green}") output << example(comment: 'encrypt a plain text string with default key file, and immediately decrypt it', command: "sym -es #{'"secret string"'.bold.yellow} | sym -d", result: 'secret string'.green) output << example(comment: 'encrypt secrets file using key in the environment, and --negate option:', command: 'export PRIVATE_KEY="75ngenJpB6zL47/8Wo7Ne6JN1pnOsqNEcIqblItpfg4="', echo: 'sym -ck PRIVATE_KEY -n secrets.yml', result: ''.green) output << example(comment: 'encrypt a secrets file using the key in the keychain:', command: 'sym -gqx keychain.key', echo: 'sym -ck keychain.key -n secrets.yml', result: 'secret string'.green) output << example(comment: 'encrypt/decrypt sym.yml using the default key file', command: "sym -gcq > #{Sym.default_key_file}", echo: 'sym -n secrets.yml', result: 'sym -df secrets.yml.enc', ) output << example(comment: 'decrypt an encrypted file and print it to STDOUT:', command: 'sym -ck production.key -df secrets.yml.enc') output << example(comment: 'edit an encrypted file in $EDITOR, use default key file, create a backup', command: 'sym -bt secrets.enc', result: ' Private Key: •••••••••••••••••••••••••••••••••••••••••••• Saved encrypted content to sym.enc. Diff: 3c3 '.white.dark + '# (c) 2015 Konstantin Gredeskoul. All rights reserved.'.red.bold + ' ---' + ' # (c) 2016 Konstantin Gredeskoul. All rights reserved.'.green.bold) if Sym::App.osx? output << example(comment: 'generate a new password-encrypted key, save it to your Keychain:', command: 'sym -gpcx staging.key') output << example(comment: 'use the new key to encrypt a file:', command: 'sym -e -c -k staging.key -n etc/passwords.enc') output << example(comment: 'use the new key to inline-edit the encrypted file:', command: 'sym -k mykey -t sym.yml.enc') end output.flatten.compact.join("\n") end |