sym 2.8.2 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +29 -22
  3. data/.envrc +7 -0
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +158 -920
  6. data/.rubocop_todo.yml +115 -0
  7. data/.travis.yml +16 -26
  8. data/CHANGELOG.md +239 -167
  9. data/Gemfile +1 -0
  10. data/LICENSE +2 -2
  11. data/README.adoc +675 -0
  12. data/README.pdf +29732 -19
  13. data/Rakefile +10 -4
  14. data/bin/changelog +34 -0
  15. data/bin/sym.completion.bash +6 -4
  16. data/codecov.yml +29 -0
  17. data/design/sym-class-dependency-future-refactor.png +0 -0
  18. data/design/sym-class-dependency-vertical.png +0 -0
  19. data/design/sym-class-dependency.graffle +0 -0
  20. data/design/sym-class-dependency.png +0 -0
  21. data/design/sym-help.png +0 -0
  22. data/exe/keychain +3 -3
  23. data/exe/sym +8 -5
  24. data/lib/ruby_warnings.rb +7 -0
  25. data/lib/sym.rb +2 -8
  26. data/lib/sym/app.rb +7 -9
  27. data/lib/sym/app/args.rb +3 -2
  28. data/lib/sym/app/cli.rb +34 -23
  29. data/lib/sym/app/cli_slop.rb +17 -11
  30. data/lib/sym/app/commands.rb +1 -1
  31. data/lib/sym/app/commands/base_command.rb +2 -1
  32. data/lib/sym/app/commands/bash_completion.rb +3 -3
  33. data/lib/sym/app/commands/keychain_add_key.rb +1 -1
  34. data/lib/sym/app/commands/open_editor.rb +1 -1
  35. data/lib/sym/app/commands/password_protect_key.rb +4 -4
  36. data/lib/sym/app/commands/show_examples.rb +6 -6
  37. data/lib/sym/app/input/handler.rb +8 -2
  38. data/lib/sym/app/keychain.rb +15 -9
  39. data/lib/sym/app/output/base.rb +1 -1
  40. data/lib/sym/app/output/noop.rb +2 -1
  41. data/lib/sym/app/password/cache.rb +1 -1
  42. data/lib/sym/app/password/providers.rb +3 -6
  43. data/lib/sym/app/private_key/decryptor.rb +2 -2
  44. data/lib/sym/app/private_key/detector.rb +4 -7
  45. data/lib/sym/app/private_key/key_source_check.rb +2 -3
  46. data/lib/sym/application.rb +9 -14
  47. data/lib/sym/configuration.rb +1 -5
  48. data/lib/sym/constants.rb +40 -24
  49. data/lib/sym/data.rb +2 -2
  50. data/lib/sym/data/wrapper_struct.rb +20 -12
  51. data/lib/sym/errors.rb +13 -2
  52. data/lib/sym/extensions/instance_methods.rb +11 -12
  53. data/lib/sym/extensions/stdlib.rb +2 -3
  54. data/lib/sym/extensions/with_retry.rb +1 -1
  55. data/lib/sym/extensions/with_timeout.rb +1 -1
  56. data/lib/sym/version.rb +54 -5
  57. data/sym.gemspec +38 -35
  58. metadata +132 -66
  59. data/.codeclimate.yml +0 -30
  60. data/README.md +0 -623
  61. data/lib/sym/app/password/providers/drb_provider.rb +0 -41
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,115 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2021-02-12 15:04:35 UTC using RuboCop version 1.9.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 6
10
+ RSpec/AnyInstance:
11
+ Exclude:
12
+ - 'spec/sym/app/cli_spec.rb'
13
+ - 'spec/sym/app/password/providers_spec.rb'
14
+
15
+ # Offense count: 97
16
+ # Configuration parameters: Prefixes.
17
+ # Prefixes: when, with, without
18
+ RSpec/ContextWording:
19
+ Enabled: false
20
+
21
+ # Offense count: 5
22
+ # Configuration parameters: Max.
23
+ RSpec/ExampleLength:
24
+ Exclude:
25
+ - 'spec/sym/app/cli_spec.rb'
26
+ - 'spec/sym/app/commands_spec.rb'
27
+ - 'spec/sym/app/input/handler_spec.rb'
28
+ - 'spec/sym/app/password/cache_spec.rb'
29
+ - 'spec/sym/sym_spec.rb'
30
+
31
+ # Offense count: 20
32
+ RSpec/ExpectInHook:
33
+ Exclude:
34
+ - 'spec/sym/app/cli_spec.rb'
35
+ - 'spec/sym/app/commands/print_key_spec.rb'
36
+ - 'spec/sym/app/password/providers_spec.rb'
37
+ - 'spec/sym/app/private_key/detector_spec.rb'
38
+ - 'spec/sym/app/private_key/handler_spec.rb'
39
+ - 'spec/sym/application_spec.rb'
40
+ - 'spec/sym/magic_file_spec.rb'
41
+
42
+ # Offense count: 11
43
+ RSpec/LeakyConstantDeclaration:
44
+ Exclude:
45
+ - 'spec/integration/sym_cli_spec.rb'
46
+ - 'spec/support/contexts.rb'
47
+ - 'spec/sym/app/cli_spec.rb'
48
+ - 'spec/sym/app/keychain_spec.rb'
49
+
50
+ # Offense count: 1
51
+ RSpec/LetSetup:
52
+ Exclude:
53
+ - 'spec/sym/app/cli_spec.rb'
54
+
55
+ # Offense count: 20
56
+ # Configuration parameters: .
57
+ # SupportedStyles: have_received, receive
58
+ RSpec/MessageSpies:
59
+ EnforcedStyle: receive
60
+
61
+ # Offense count: 36
62
+ RSpec/MultipleExpectations:
63
+ Max: 6
64
+
65
+ # Offense count: 14
66
+ # Configuration parameters: AllowSubject.
67
+ RSpec/MultipleMemoizedHelpers:
68
+ Max: 9
69
+
70
+ # Offense count: 11
71
+ # Configuration parameters: IgnoreSharedExamples.
72
+ RSpec/NamedSubject:
73
+ Exclude:
74
+ - 'spec/sym/app/commands_spec.rb'
75
+ - 'spec/sym/app/password/providers_spec.rb'
76
+
77
+ # Offense count: 10
78
+ RSpec/NestedGroups:
79
+ Max: 6
80
+
81
+ # Offense count: 1
82
+ RSpec/OverwritingSetup:
83
+ Exclude:
84
+ - 'spec/sym/app/commands/generate_key_spec.rb'
85
+
86
+ # Offense count: 12
87
+ RSpec/RepeatedDescription:
88
+ Exclude:
89
+ - 'spec/sym/app/commands_spec.rb'
90
+ - 'spec/sym/app/password/providers_spec.rb'
91
+
92
+ # Offense count: 2
93
+ RSpec/RepeatedExampleGroupDescription:
94
+ Exclude:
95
+ - 'spec/sym/app/password/providers_spec.rb'
96
+
97
+ # Offense count: 2
98
+ RSpec/ScatteredSetup:
99
+ Exclude:
100
+ - 'spec/integration/sym_cli_spec.rb'
101
+
102
+ # Offense count: 10
103
+ RSpec/StubbedMock:
104
+ Exclude:
105
+ - 'spec/support/contexts.rb'
106
+ - 'spec/sym/app/cli_spec.rb'
107
+ - 'spec/sym/app/commands/print_key_spec.rb'
108
+ - 'spec/sym/app/input/handler_spec.rb'
109
+ - 'spec/sym/app/private_key/detector_spec.rb'
110
+ - 'spec/sym/application_spec.rb'
111
+
112
+ # Offense count: 4
113
+ Rake/Desc:
114
+ Exclude:
115
+ - 'Rakefile'
data/.travis.yml CHANGED
@@ -1,31 +1,21 @@
1
1
  language: ruby
2
- env:
3
- - CODECLIMATE_REPO_TOKEN=c71874cc22acffe1e2543d3388d3a96c73a65f0cfe17169dadd8de4a6c062c39 TEST_DRB=true HOME=/home/travis USER=travis
4
2
  services:
5
3
  - memcached
6
4
  rvm:
7
- - 2.3.5
8
- - 2.4.2
9
- notifications:
10
- email:
11
- recipients:
12
- - kigster@gmail.com
13
- on_success: change
14
- on_failure: always
15
- slack:
16
- rooms:
17
- secure: GcACCHmcmo99lYE5dgt2TmY4YIPMWr75q0Bkm4Lddegq/1eMXgcZDz00j8iHWtnveyJSjEUpZFQ9uyx+P7dvxT7D5gl43arKZEylS4vMRg9QRgZu7/ROrXbJtrUyKulFRUTdFrmOiK9nDKpAzlvLvMKC4kaQnn88Xtu9pYMU8y4n5fCtl29gZM9ZjVbrBBvV/SumnTDLla2oQ7oFgUZdZhQZ1qsevYknxNq4eIcvPDjbon+bovfsIISEVRSNo2C3yjO+mqWKed3jfuCA4taAZ8/aVVFEKURMH10HFms1CiC3lE/gF4YfBXsqKpjnB+bKjBcWox2FQrp96FulMEIfkKQrnuncO96o7MGHX9oNqKSMoycf3+SZFwNa+5Mfq7SBepbHYCoU7/ow31UTyStrc5idG19XzYgI85yjQHdzQN299Xf0O8cGf9q9qAu7rS7JlM3ekR+3rZYO+OxNYTF8rcW1fYIj6GKcbsV8BvuhAVQRFOsk/ibcIb2N7rGVd/ZbU4HAk3RE1ywt+XowinpIHktu2PQUPDNpgRQwM6xqZHO/7s9r7oW0ULmZCMLZ9CMKNjKzrQ9wfh90+v+FiEiUKsaVj4cCwF3PvhVYvxU2AKbCeHtSEb7K6to86+DYNoIKnGH1ryKoyCtyOTZpNMLGFt34Msv7WfEylhG+DpVMvkM=
18
- addons:
19
- code_climate:
20
- repo_token: c71874cc22acffe1e2543d3388d3a96c73a65f0cfe17169dadd8de4a6c062c39
21
- # regular test configuration
22
- after_success:
23
- - bundle exec codeclimate-test-reporter
24
- before_script:
25
- - echo stats | nc localhost 11211
5
+ - 2.3.8
6
+ - 2.4.10
7
+ - 2.5.8
8
+ - 2.6.6
9
+ - 2.7.1
10
+ - jruby-9.1.17.0
11
+ - jruby-9.2.13.0
26
12
  script:
27
- - bundle exec exe/sym -B ~/.bash_profile -vTD
28
- - ls -alF ~/.sym*
29
- - ls -alF .
30
- - mkdir -p temp
31
- - bundle exec rspec --format documentation
13
+ - bundle exec sym -B ~/.bash_profile -vTD
14
+ - export PATH="${PWD}/exe:${PATH}"
15
+ - export RUBY_MAJOR_VERSION="$(ruby -e 'puts RUBY_VERSION.split(".")[0..1].join')"
16
+ - export USER=travis
17
+ - bundle exec rspec --format documentation --order random
18
+ - if [[ "${RUBY_MAJOR_VERSION}" == "27" ]]; then bundle exec rubocop; fi
19
+ env:
20
+ global:
21
+ secure: TEh5UdrREBCXNNxMvk+kl7PcokyIgm0JXoIQI90ZMHx75yLcSdK15zt4rTvH4FzNUmnEGQnGaEJmJMqkjy9oT1BwKedqvG6eb0BFgay8ajz+eesFKH0Vu7MrHZuKrO3mfO+llr+av4K7iQPQrHJ6+7TZKu4cysFuP+szgE1blyrSgv2NaMmb2UL0HPLn0H2vxqVGn+xfc8VWGNn0IzDBLVAeUMOKyn51PMK1zupjcS+wz3uMzTWXyuB+RvIGOcYnXNZAtIQbYnVHqohrG6iOtNtDSJIVETeybghob7dRk3NTlFQ7qbYspJCflMaGQmwVc18CCO0Sa9qCVKS+z+WAeprfGrG2lIXnTxa/76OwKbEstjOdLmovDKst5dlZnH9Osg9g0US750wndKNrRFIB1A66QTxxbHWYX8JpOTYg2asSnPLptaxF3H4l85xspoiZ6LeI4z7mH9fLr5UJnU5INDDuZ+JW7pUeSri5bTLIzMkGGPj7AHEubUiKY0ldeNfskAwkNob/+nPWTtI30ex909EHu6eSQV7JR8Ng394MOmot9xKHszOJXRltv4cRQ5k0IWW+gLpc110vtqHfe/xBuL3nXWBQnaZHzVGM2E6ctKnDdN/7zamVJEFDHevj4hO6h0WWhUINp+k3QWJvj2bNrsDttpGgw5NM85OLrthGew8=
data/CHANGELOG.md CHANGED
@@ -1,245 +1,317 @@
1
- # Change Log
1
+ # Changelog
2
2
 
3
- ## [HEAD](https://github.com/kigster/sym/tree/HEAD)
3
+ ## [v3.0.1](https://github.com/kigster/sym/tree/v3.0.1) (2021-02-12)
4
4
 
5
- [Changes since the last tag](https://github.com/kigster/sym/compare/v2.7.0...HEAD)
5
+ [Full Changelog](https://github.com/kigster/sym/compare/v3.0.0...v3.0.1)
6
6
 
7
- ## [v2.8.0](https://github.com/kigster/sym/tree/v2.8.0) (2018-01-05)
8
- [Full Changelog](https://github.com/kigster/sym/compare/v2.7.0...v2.8.0)
7
+ **Merged pull requests:**
9
8
 
10
- Version 2.8.0 with several key changes below:
9
+ - Fixing args expansion for Ruby 3.0.0 [\#32](https://github.com/kigster/sym/pull/32) ([kigster](https://github.com/kigster))
11
10
 
12
- - Ensuring that Sym exits with a non-zero code when errors occur
13
- - Ensuring that coverage, and doc folders are removed before release
14
- - Adding sym-encrypt() and sym-decrypt() BASH helpers
15
- - Major update to `sym.symit` to provide easier access to commands.
16
- - Cleaning up output of the errors
11
+ ## [v3.0.0](https://github.com/kigster/sym/tree/v3.0.0) (2020-08-15)
17
12
 
18
- ## [v2.7.0](https://github.com/kigster/sym/tree/v2.7.0) (2017-06-23)
19
- [Full Changelog](https://github.com/kigster/sym/compare/v2.6.3...v2.7.0)
13
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.10.1...v3.0.0)
20
14
 
21
- * Changing -t flag to expect a file argument, removing the need
22
- for "-f file" in addition to "-t"
23
- * Adding 'irbtools' to development gems.
15
+ ## [v2.10.1](https://github.com/kigster/sym/tree/v2.10.1) (2020-08-15)
24
16
 
25
- ## [v2.6.3](https://github.com/kigster/sym/tree/v2.6.3) (2017-03-13)
26
- [Full Changelog](https://github.com/kigster/sym/compare/v2.6.2...v2.6.3)
17
+ [Full Changelog](https://github.com/kigster/sym/compare/list...v2.10.1)
27
18
 
28
- * Much faster unit tests thanks to running Aruba tests in-process
29
- * Better error reporting, and catching the case when STDIN is not a TTY
30
- and yet password is required to decrypt the key.
19
+ ## [list](https://github.com/kigster/sym/tree/list) (2020-08-15)
31
20
 
32
- ## [v2.6.2](https://github.com/kigster/sym/tree/v2.6.2) (2017-03-12)
33
- [Full Changelog](https://github.com/kigster/sym/compare/v2.6.1...v2.6.2)
21
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.10.0...list)
34
22
 
35
- * Updating gem description for RubyGems.
23
+ **Closed issues:**
36
24
 
37
- ## [v2.6.1](https://github.com/kigster/sym/tree/v2.6.1) (2017-03-12)
38
- [Full Changelog](https://github.com/kigster/sym/compare/v2.6.0...v2.6.1)
25
+ - This gem is failing on environment without HOME \(like AWS Lambda\) [\#25](https://github.com/kigster/sym/issues/25)
39
26
 
40
- * Mostly updating gem descriptions and README
27
+ **Merged pull requests:**
41
28
 
42
- ## [v2.6.0](https://github.com/kigster/sym/tree/v2.6.0) (2017-03-12)
43
- [Full Changelog](https://github.com/kigster/sym/compare/v2.5.3...v2.6.0)
29
+ - Refactor and changes to support custom user\_home. [\#30](https://github.com/kigster/sym/pull/30) ([kigster](https://github.com/kigster))
44
30
 
45
- * Added `Sym::MagicFile` API for easy access to encrypted files.
46
- * Moving output processing into the `Sym::Application` class.
31
+ ## [v2.10.0](https://github.com/kigster/sym/tree/v2.10.0) (2020-08-14)
47
32
 
48
- ## [v2.5.3](https://github.com/kigster/sym/tree/v2.5.3) (2017-03-11)
49
- [Full Changelog](https://github.com/kigster/sym/compare/v2.5.2...v2.5.3)
33
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.8.5...v2.10.0)
50
34
 
51
- * Added a "\n" to all printouts to STDOUT as long as it's a TTY
35
+ **Fixed bugs:**
52
36
 
53
- ## [v2.5.2](https://github.com/kigster/sym/tree/v2.5.2) (2017-03-07)
54
- [Full Changelog](https://github.com/kigster/sym/compare/v2.5.1...v2.5.2)
37
+ - First pass on Version 2.9.0 — dropping the coin gem [\#20](https://github.com/kigster/sym/pull/20) ([kigster](https://github.com/kigster))
55
38
 
56
- * Minor bug fixes around `symit` bash script, and `--bash-support` flag.
39
+ **Closed issues:**
57
40
 
58
- ## [v2.5.1](https://github.com/kigster/sym/tree/v2.5.0) (2017-03-07)
59
- [Full Changelog](https://github.com/kigster/sym/compare/v2.5.0...v2.5.1)
41
+ - Switch to Codecov for test coverage [\#29](https://github.com/kigster/sym/issues/29)
42
+ - Ruby 2.7 warnings [\#24](https://github.com/kigster/sym/issues/24)
43
+ - Error and process hang on Windows [\#17](https://github.com/kigster/sym/issues/17)
60
44
 
61
- * Moved `symit` into `bin/` folder, and now installing it into `~/.sym.symit` with `-B/--bash-support` flag.
62
- * `symit` now works as a bash function installed together with the completion.
63
- * Updated `Sym::Constants` module.
64
-
65
- ## [v2.5.0](https://github.com/kigster/sym/tree/v2.5.0) (2017-03-04)
66
- [Full Changelog](https://github.com/kigster/sym/compare/v2.4.3...v2.5.0)
45
+ **Merged pull requests:**
46
+
47
+ - Switch to Codecov for test coverage; version bump 2.10.0 [\#28](https://github.com/kigster/sym/pull/28) ([kigster](https://github.com/kigster))
48
+ - Fix remaining 2.7 warnings; memcached & keychain [\#27](https://github.com/kigster/sym/pull/27) ([kigster](https://github.com/kigster))
49
+ - Adding Rubocop, and fixing minor issues. [\#21](https://github.com/kigster/sym/pull/21) ([kigster](https://github.com/kigster))
50
+ - CI: Update matrix [\#19](https://github.com/kigster/sym/pull/19) ([olleolleolle](https://github.com/olleolleolle))
51
+
52
+ ## [v2.8.5](https://github.com/kigster/sym/tree/v2.8.5) (2018-10-13)
53
+
54
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.8.4...v2.8.5)
55
+
56
+ **Closed issues:**
57
+
58
+ - \[feature\] Allow sym to use a password protected key without interactive input [\#12](https://github.com/kigster/sym/issues/12)
59
+ - \[feature\] support yaml mapping of file pattern to key names [\#8](https://github.com/kigster/sym/issues/8)
60
+
61
+ **Merged pull requests:**
62
+
63
+ - Fix error when ENV\[EDITOR\] is nil [\#18](https://github.com/kigster/sym/pull/18) ([JustinNazari](https://github.com/JustinNazari))
64
+ - README: Use SVG badge \[ci skip\] [\#16](https://github.com/kigster/sym/pull/16) ([olleolleolle](https://github.com/olleolleolle))
65
+
66
+ ## [v2.8.4](https://github.com/kigster/sym/tree/v2.8.4) (2018-04-13)
67
+
68
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.8.2...v2.8.4)
69
+
70
+ **Merged pull requests:**
71
+
72
+ - Faster completion by checking \_filedir [\#15](https://github.com/kigster/sym/pull/15) ([kigster](https://github.com/kigster))
73
+
74
+ ## [v2.8.2](https://github.com/kigster/sym/tree/v2.8.2) (2018-01-10)
75
+
76
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.8.1...v2.8.2)
77
+
78
+ ## [v2.8.1](https://github.com/kigster/sym/tree/v2.8.1) (2018-01-07)
79
+
80
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.8.0...v2.8.1)
81
+
82
+ ## [v2.8.0](https://github.com/kigster/sym/tree/v2.8.0) (2018-01-06)
83
+
84
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.7.0...v2.8.0)
85
+
86
+ **Merged pull requests:**
87
+
88
+ - Changing -t to expect a file argument; Version 2.7.0 [\#13](https://github.com/kigster/sym/pull/13) ([kigster](https://github.com/kigster))
89
+
90
+ ## [v2.7.0](https://github.com/kigster/sym/tree/v2.7.0) (2017-06-23)
91
+
92
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.6.3...v2.7.0)
93
+
94
+ ## [v2.6.3](https://github.com/kigster/sym/tree/v2.6.3) (2017-03-13)
95
+
96
+ [Full Changelog](https://github.com/kigster/sym/compare/st...v2.6.3)
97
+
98
+ ## [st](https://github.com/kigster/sym/tree/st) (2017-03-13)
99
+
100
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.6.2...st)
101
+
102
+ **Closed issues:**
103
+
104
+ - \[feature\] Speed up RSpec tests by running Aruba tests in process, and skipping DRb [\#11](https://github.com/kigster/sym/issues/11)
105
+ - \[feature\] need an easy way to decrypt and load encrypted settings file into memory [\#9](https://github.com/kigster/sym/issues/9)
106
+
107
+ **Merged pull requests:**
108
+
109
+ - Switch to faster in process ARUBA [\#10](https://github.com/kigster/sym/pull/10) ([kigster](https://github.com/kigster))
110
+
111
+ ## [v2.6.2](https://github.com/kigster/sym/tree/v2.6.2) (2017-03-12)
112
+
113
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.6.1...v2.6.2)
114
+
115
+ ## [v2.6.1](https://github.com/kigster/sym/tree/v2.6.1) (2017-03-12)
67
116
 
68
- * Updated README
69
- * Remove `-M` flag; make `SYM_ARGS` environment be only used when `-A` flag is supplied
70
- * Change `--bash-completion` to use `-B`
71
- * Major fix up for sym.completion
72
- ## [v2.6.1](https://github.com/kigster/sym/tree/v2.6.1) (2017-03-11)
73
117
  [Full Changelog](https://github.com/kigster/sym/compare/v2.6.0...v2.6.1)
74
118
 
75
- ## [v2.6.0](https://github.com/kigster/sym/tree/v2.6.0) (2017-03-11)
119
+ ## [v2.6.0](https://github.com/kigster/sym/tree/v2.6.0) (2017-03-12)
120
+
76
121
  [Full Changelog](https://github.com/kigster/sym/compare/v2.5.3...v2.6.0)
77
122
 
78
- * Added `Sym::MagicFile` API for easy access to encrypted files.
79
- * Moving output processing into the `Sym::Application` class.
123
+ ## [v2.5.3](https://github.com/kigster/sym/tree/v2.5.3) (2017-03-11)
80
124
 
81
- ## [v2.5.3](https://github.com/kigster/sym/tree/v2.5.3) (2017-03-09)
82
125
  [Full Changelog](https://github.com/kigster/sym/compare/v2.5.2...v2.5.3)
83
126
 
84
- * Added a "\n" to all printouts to STDOUT as long as it's a TTY
127
+ ## [v2.5.2](https://github.com/kigster/sym/tree/v2.5.2) (2017-03-11)
85
128
 
86
- ## [v2.5.2](https://github.com/kigster/sym/tree/v2.5.2) (2017-03-06)
87
129
  [Full Changelog](https://github.com/kigster/sym/compare/v2.5.1...v2.5.2)
88
130
 
89
- * Minor bug fixes around `symit` bash script, and `--bash-support` flag.
131
+ ## [v2.5.1](https://github.com/kigster/sym/tree/v2.5.1) (2017-03-07)
90
132
 
91
- ## [v2.5.1](https://github.com/kigster/sym/tree/v2.5.0) (2017-03-06)
92
133
  [Full Changelog](https://github.com/kigster/sym/compare/v2.5.0...v2.5.1)
93
134
 
94
- * Moved `symit` into `bin/` folder, and now installing it into `~/.sym.symit` with `-B/--bash-support` flag.
95
- * `symit` now works as a bash function installed together with the completion.
96
- * Updated `Sym::Constants` module.
97
-
98
- ## [v2.5.0](https://github.com/kigster/sym/tree/v2.5.0) (2017-03-04)
135
+ ## [v2.5.0](https://github.com/kigster/sym/tree/v2.5.0) (2017-03-05)
136
+
99
137
  [Full Changelog](https://github.com/kigster/sym/compare/v2.4.3...v2.5.0)
100
138
 
101
- * Updated README
102
- * Remove `-M` flag; make `SYM_ARGS` environment be only used when `-A` flag is supplied
103
- * Change `--bash-completion` to use `-B`
104
- * Major fix up for sym.completion
105
- * New file `exe/symit` for transparently editing secrets
106
- * Reworked `Sym::Application`, removed `--dictionary`, and simplified argument parsing.
107
- * Refactored `output_proc` to live in `application`.
139
+ ## [v2.4.3](https://github.com/kigster/sym/tree/v2.4.3) (2017-03-01)
140
+
141
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.4.2...v2.4.3)
108
142
 
109
143
  ## [v2.4.2](https://github.com/kigster/sym/tree/v2.4.2) (2017-03-01)
144
+
110
145
  [Full Changelog](https://github.com/kigster/sym/compare/v2.4.1...v2.4.2)
111
146
 
112
- * Fixing BASH completion for sym to look for files after `--negate` and
113
- to auto-complete long options as well.
147
+ ## [v2.4.1](https://github.com/kigster/sym/tree/v2.4.1) (2017-03-01)
114
148
 
115
- ## [v2.4.1](https://github.com/kigster/sym/tree/v2.4.1) (2017-02-28)
116
149
  [Full Changelog](https://github.com/kigster/sym/compare/v2.4.0...v2.4.1)
117
150
 
118
- * Added new feature: `-n/--negate` to quickly encrypt/decrypt a file to/from *.enc extension; extension is configurable.
119
- * Refactored `application.opts` to be a hash.
120
- * Refactored and consolidate key sources via the `Detector` class.
121
- * Split off `KeySourceCheck` into a separate entity
122
- * Simplified `Sym::Application`
123
- * Removed `OrderedHash`
124
- * Added `key_source` to logging with `-D`
125
- * New tests.
126
- * Fixed command ordering bug.
127
- * Better "default" file handing, only when no options are supplied.
128
-
129
- ## [v2.4.0](https://github.com/kigster/sym/tree/v2.4.0) (2017-02-27)
130
- [Full Changelog](https://github.com/kigster/sym/compare/v2.3.0...v2.4.0)
151
+ ## [v2.4.0](https://github.com/kigster/sym/tree/v2.4.0) (2017-02-28)
131
152
 
132
- * CLI API changes:
133
- * Version 2.4.0
134
- * New behavior: `-k <value>` now attempts to read a file, environment, keychain or a string.
135
- * Removed `--keyfile / -K` (-k now accepts file)
136
- * Removed all `require_relative` occurances, replaced with `require`
137
- * Adding support for the default key file, stored in `~/.sym.key` by default.
138
- * Moved all constants to `Sym::Constants`
139
- * Added ability to map legacy (deprecated) flags
140
- * Auto-disabling color when STDOUT is not a tty
141
- * Changed Password Cache flags:
142
- * Replaced `-C` with `-c` (to enable cache)
143
- * Replaced `-T` with `-u` for timeout
144
- * Replaced `-P` with `-r` for provider
145
- * Changed `-A` (trace) to `-T`
146
- * Now adding password to the cache upon generation
147
- * Adding `KeyChain.get` method
148
- * Replacing private key `Detector` with `Reader`
149
- * Adding logger
150
- * Fixing handling of STDIN and STDOUT with pipes
151
- * Deleting unused files
152
-
153
- ## [v2.3.0](https://github.com/kigster/sym/tree/v2.3.0) (2017-02-23)
154
- [Full Changelog](https://github.com/kigster/sym/compare/v2.2.1...v2.3.0)
155
-
156
- * Improving output, especially as it pertains to error reporting
157
- * Split encrypt_decrypt command into encrypt and decrypt
158
- * Fix permissions before `rake build`
159
- * Improve Yard Doc by moving `Kernel` and `Object` monkey-patching
160
- into `lib/sym/extensions/stdlib.rb`
161
-
162
- ## [v2.2.1](https://github.com/kigster/sym/tree/v2.2.1) (2017-02-15)
163
- [Full Changelog](https://github.com/kigster/sym/compare/v2.2.0...v2.2.1)
153
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.3.0...v2.4.0)
164
154
 
165
- * [`53bb95f`](https://github.com/kigster/sym/commit/53bb95f) Ability to read flags from SYM_ARGS environment
166
- * [`c3d0b86`] (https://github.com/kigster/sym/commit/c3d0b86) Switched to using bash-completion-style syntax
167
- * [`9368bf5`] (https://github.com/kigster/sym/commit/9368bf5) Adding CHANGELOG.md
155
+ ## [v2.3.0](https://github.com/kigster/sym/tree/v2.3.0) (2017-02-25)
168
156
 
169
- ## [v2.2.0](https://github.com/kigster/sym/tree/v2.2.0) (2017-02-14)
170
- [Full Changelog](https://github.com/kigster/sym/compare/v2.1.2...v2.2.0)
157
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.2.1...v2.3.0)
171
158
 
172
- **API CHANGE**:
159
+ **Merged pull requests:**
173
160
 
174
- * Turn off password caching by default, enable with `-C`
175
- * `-P < memcached | drb >` specifies caching mechanism
161
+ - This PR improves error reporting across the board [\#7](https://github.com/kigster/sym/pull/7) ([kigster](https://github.com/kigster))
176
162
 
177
- **Changes:**
163
+ ## [v2.2.1](https://github.com/kigster/sym/tree/v2.2.1) (2017-02-15)
178
164
 
179
- * [`b470245`](https://github.com/kigster/sym/commit/b470245/) Turn off password caching by default, enable with `-C`, timeout with `-T`
180
- * [`ca3a903`](https://github.com/kigster/sym/commit/ca3a903/) Adding -C flag
181
- * [`949b2ae`](https://github.com/kigster/sym/commit/949b2ae/) Updating README
182
- * [`513f849`](https://github.com/kigster/sym/commit/513f849/) Adding MemCached provider; ability to specify provider with `-P`
183
- * [`571e668`](https://github.com/kigster/sym/commit/571e668/) Split up Coin off to a cache provider
184
- * [`7afeccc`](https://github.com/kigster/sym/commit/7afeccc/) Better messaging when password server times out
185
- * [`cf226f9`](https://github.com/kigster/sym/commit/cf226f9/) Implement fast timeout for password caching providers, fixes [\#3](https://github.com/kigster/sym/issues/3)
165
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.2.0...v2.2.1)
186
166
 
187
- **Closed Issues:**
167
+ **Closed issues:**
188
168
 
189
169
  - make sure drb is not already running/handle exception [\#3](https://github.com/kigster/sym/issues/3)
190
170
 
171
+ ## [v2.2.0](https://github.com/kigster/sym/tree/v2.2.0) (2017-02-14)
191
172
 
173
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.1.2...v2.2.0)
192
174
 
193
175
  ## [v2.1.2](https://github.com/kigster/sym/tree/v2.1.2) (2017-02-11)
194
- [Full Changelog](https://github.com/kigster/sym/compare/v2.1.1...v2.1.2)
195
176
 
196
- * [`dce9b05`](https://github.com/kigster/sym/commit/dce9b05/) Updating gems summary/desription; bump version 2.1.2
197
- * [`ba60592`](https://github.com/kigster/sym/commit/ba60592/) Adding TOC
198
- * [`7b04ea9`](https://github.com/kigster/sym/commit/7b04ea9/) Updating README for the gem;
199
- * [`52efdb4`](https://github.com/kigster/sym/commit/52efdb4/) Updating the 3.0 usage
177
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.1.1...v2.1.2)
200
178
 
201
179
  ## [v2.1.1](https://github.com/kigster/sym/tree/v2.1.1) (2017-02-05)
202
- [Full Changelog](https://github.com/kigster/sym/compare/v2.1.0...v2.1.1)
203
180
 
204
- * [`d503c1c`](https://github.com/kigster/sym/commit/d503c1c/) Fix bug with -E flag exploding; version 2.1.1
181
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.1.0...v2.1.1)
205
182
 
206
183
  ## [v2.1.0](https://github.com/kigster/sym/tree/v2.1.0) (2017-01-23)
207
- [Full Changelog](https://github.com/kigster/sym/compare/v2.0.3...v2.1.0)
208
184
 
209
- * [`a7f3239`](https://github.com/kigster/sym/commit/a7f3239/) Proposed CLI for version 3.0
210
- * [`3a706ce`](https://github.com/kigster/sym/commit/3a706ce/) Rename Command to BaseCommand; use require
211
- * [`77936ee`](https://github.com/kigster/sym/commit/77936ee/) Existing keys can be password-prot, and keychained
185
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.0.3...v2.1.0)
212
186
 
213
187
  ## [v2.0.3](https://github.com/kigster/sym/tree/v2.0.3) (2017-01-22)
214
- [Full Changelog](https://github.com/kigster/sym/compare/v2.0.2...v2.0.3)
215
188
 
216
- * [`342ecb7`](https://github.com/kigster/sym/commit/342ecb7/) Disable some checks.
217
- * [`984ec27`](https://github.com/kigster/sym/commit/984ec27/) Adding CHANGELOG.
218
- * [`4fc7983`](https://github.com/kigster/sym/commit/4fc7983/) Removing clipboard copy feature: its easy enough.
219
- * [`4f38aa5`](https://github.com/kigster/sym/commit/4f38aa5/) Removing unnecessary file.
220
- * [`4ff0412`](https://github.com/kigster/sym/commit/4ff0412/) Updating README with latest help
221
- * [`787116c`](https://github.com/kigster/sym/commit/787116c/) rm NLP module, rm keychain del, add bash-comp.
222
- * [`bf70e30`](https://github.com/kigster/sym/commit/bf70e30/) Update repo token
189
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.0.2...v2.0.3)
223
190
 
224
191
  ## [v2.0.2](https://github.com/kigster/sym/tree/v2.0.2) (2017-01-21)
225
- [Full Changelog](https://github.com/kigster/sym/compare/v2.0.1...v2.0.2)
226
192
 
227
- * [`c586299`](https://github.com/kigster/sym/commit/c586299/) Better gem description; Bump version
193
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.0.1...v2.0.2)
228
194
 
229
195
  ## [v2.0.1](https://github.com/kigster/sym/tree/v2.0.1) (2017-01-20)
230
- [Full Changelog](https://github.com/kigster/sym/compare/v2.0.0...v2.0.1)
231
196
 
232
- * [`96add73`](https://github.com/kigster/sym/commit/96add73/) Travis teset coverage, etc
233
- * [`8f0209e`](https://github.com/kigster/sym/commit/8f0209e/) Updating README badges
234
- * [`0c6a612`](https://github.com/kigster/sym/commit/0c6a612/) Only use github for coin on OSX
235
- * [`3afe846`](https://github.com/kigster/sym/commit/3afe846/) Fixed a bug with >> redirects adding newline
236
- * [`9409cdb`](https://github.com/kigster/sym/commit/9409cdb/) Fixing bash completion for sym.
237
- * [`7cdb062`](https://github.com/kigster/sym/commit/7cdb062/) Add .ruby-version to gitignore
238
- * [`488cd73`](https://github.com/kigster/sym/commit/488cd73/) Using a fork of coin from github
239
- * [`a13eb55`](https://github.com/kigster/sym/commit/a13eb55/) Adding .DS_Store to .gitignore
197
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.0.0...v2.0.1)
240
198
 
241
199
  ## [v2.0.0](https://github.com/kigster/sym/tree/v2.0.0) (2016-11-11)
242
- [Full Changelog](https://github.com/kigster/sym/compare/v1.1.2...v2.0.0)
243
200
 
244
- Commits between version 1.1.2 and 2.0.0 were not tracked in the changelog.
201
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.7.0...v2.0.0)
202
+
203
+ ## [v1.7.0](https://github.com/kigster/sym/tree/v1.7.0) (2016-10-17)
204
+
205
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.6.5...v1.7.0)
206
+
207
+ **Merged pull requests:**
208
+
209
+ - Password caching disabling/timeout; Version 1.7.0 [\#5](https://github.com/kigster/sym/pull/5) ([kigster](https://github.com/kigster))
210
+
211
+ ## [v1.6.5](https://github.com/kigster/sym/tree/v1.6.5) (2016-09-10)
212
+
213
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.6.4...v1.6.5)
214
+
215
+ **Closed issues:**
216
+
217
+ - utilizing CMD class fails on ubuntu [\#2](https://github.com/kigster/sym/issues/2)
218
+
219
+ **Merged pull requests:**
220
+
221
+ - added require to fix loading issue on ubuntu [\#4](https://github.com/kigster/sym/pull/4) ([bosswissam](https://github.com/bosswissam))
222
+
223
+ ## [v1.6.4](https://github.com/kigster/sym/tree/v1.6.4) (2016-08-23)
224
+
225
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.6.3...v1.6.4)
226
+
227
+ ## [v1.6.3](https://github.com/kigster/sym/tree/v1.6.3) (2016-08-22)
228
+
229
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.6.2...v1.6.3)
230
+
231
+ ## [v1.6.2](https://github.com/kigster/sym/tree/v1.6.2) (2016-08-22)
232
+
233
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.6.1...v1.6.2)
234
+
235
+ ## [v1.6.1](https://github.com/kigster/sym/tree/v1.6.1) (2016-08-22)
236
+
237
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.5.4...v1.6.1)
238
+
239
+ ## [v1.5.4](https://github.com/kigster/sym/tree/v1.5.4) (2016-08-16)
240
+
241
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.5.3...v1.5.4)
242
+
243
+ ## [v1.5.3](https://github.com/kigster/sym/tree/v1.5.3) (2016-08-16)
244
+
245
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.5.1...v1.5.3)
246
+
247
+ ## [v1.5.1](https://github.com/kigster/sym/tree/v1.5.1) (2016-08-15)
248
+
249
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.5.0...v1.5.1)
250
+
251
+ ## [v1.5.0](https://github.com/kigster/sym/tree/v1.5.0) (2016-08-15)
252
+
253
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.4.1...v1.5.0)
254
+
255
+ ## [v1.4.1](https://github.com/kigster/sym/tree/v1.4.1) (2016-08-12)
256
+
257
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.4.0...v1.4.1)
258
+
259
+ ## [v1.4.0](https://github.com/kigster/sym/tree/v1.4.0) (2016-08-12)
260
+
261
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.3.0...v1.4.0)
262
+
263
+ ## [v1.3.0](https://github.com/kigster/sym/tree/v1.3.0) (2016-08-12)
264
+
265
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.2.1...v1.3.0)
266
+
267
+ ## [v1.2.1](https://github.com/kigster/sym/tree/v1.2.1) (2016-08-10)
268
+
269
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.2.0...v1.2.1)
270
+
271
+ ## [v1.2.0](https://github.com/kigster/sym/tree/v1.2.0) (2016-08-10)
272
+
273
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.1.2...v1.2.0)
274
+
275
+ ## [v1.1.2](https://github.com/kigster/sym/tree/v1.1.2) (2016-08-09)
276
+
277
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.1.1...v1.1.2)
278
+
279
+ **Merged pull requests:**
280
+
281
+ - Make my pull request. [\#1](https://github.com/kigster/sym/pull/1) ([kigster](https://github.com/kigster))
282
+
283
+ ## [v1.1.1](https://github.com/kigster/sym/tree/v1.1.1) (2016-08-09)
284
+
285
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.1.0...v1.1.1)
286
+
287
+ ## [v1.1.0](https://github.com/kigster/sym/tree/v1.1.0) (2016-08-09)
288
+
289
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.0.2...v1.1.0)
290
+
291
+ ## [v1.0.2](https://github.com/kigster/sym/tree/v1.0.2) (2016-08-07)
292
+
293
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.0.1...v1.0.2)
294
+
295
+ ## [v1.0.1](https://github.com/kigster/sym/tree/v1.0.1) (2016-08-07)
296
+
297
+ [Full Changelog](https://github.com/kigster/sym/compare/v1.0.0...v1.0.1)
298
+
299
+ ## [v1.0.0](https://github.com/kigster/sym/tree/v1.0.0) (2016-08-07)
300
+
301
+ [Full Changelog](https://github.com/kigster/sym/compare/v0.9.3...v1.0.0)
302
+
303
+ ## [v0.9.3](https://github.com/kigster/sym/tree/v0.9.3) (2016-08-05)
304
+
305
+ [Full Changelog](https://github.com/kigster/sym/compare/v0.9.1...v0.9.3)
306
+
307
+ ## [v0.9.1](https://github.com/kigster/sym/tree/v0.9.1) (2016-08-05)
308
+
309
+ [Full Changelog](https://github.com/kigster/sym/compare/v0.1.0...v0.9.1)
310
+
311
+ ## [v0.1.0](https://github.com/kigster/sym/tree/v0.1.0) (2016-08-04)
312
+
313
+ [Full Changelog](https://github.com/kigster/sym/compare/b246254282178c0086a6c103550a089cb4962843...v0.1.0)
314
+
315
+
245
316
 
317
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*