sym 2.6.3 → 2.7.0
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 +4 -4
- data/.travis.yml +4 -4
- data/CHANGELOG.md +8 -1
- data/README.md +62 -39
- data/SYM-CLI.md +1 -1
- data/bin/sym.symit +1 -1
- data/design/sym-class-dependency-future-refactor.png +0 -0
- data/design/sym-class-dependency.graffle +0 -0
- data/design/sym-class-dependency.pdf +0 -0
- data/design/sym-class-dependency.png +0 -0
- data/lib/sym/app/cli_slop.rb +3 -3
- data/lib/sym/app/commands/show_examples.rb +3 -3
- data/lib/sym/application.rb +8 -0
- data/lib/sym/version.rb +1 -1
- data/sym.gemspec +1 -0
- metadata +21 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b37f317d0ff96c9cf5a96c63df07c09bb44b416
|
4
|
+
data.tar.gz: cc8ca5879102dffbdc67e4c6e813a6d7711bd3aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c638780011463e131e754ec7fc0ee5a1d71f8b3ab6063c3c117123a24639f5e9fb8da981c6e81781681fd966380571ba0fccf5b9883f885ec5b21bf9e8697b7c
|
7
|
+
data.tar.gz: 82ada53242e4d3ae2350c893edec7da3446e0a740357fda4e11d3e4a2ebb53c29597f429f6ee54c110aefcca86c50b1967eaf3706eaa1ed27c82bff5a0a3dc52
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,14 @@
|
|
2
2
|
|
3
3
|
## [HEAD](https://github.com/kigster/sym/tree/HEAD)
|
4
4
|
|
5
|
-
[Changes since the last tag](https://github.com/kigster/sym/compare/v2.
|
5
|
+
[Changes since the last tag](https://github.com/kigster/sym/compare/v2.7.0...HEAD)
|
6
|
+
|
7
|
+
## [v2.7.0](https://github.com/kigster/sym/tree/v2.7.0) (2017-06-23)
|
8
|
+
[Full Changelog](https://github.com/kigster/sym/compare/v2.6.3...v2.7.0)
|
9
|
+
|
10
|
+
* Changing -t flag to expect a file argument, removing the need
|
11
|
+
for "-f file" in addition to "-t"
|
12
|
+
* Adding 'irbtools' to development gems.
|
6
13
|
|
7
14
|
## [v2.6.3](https://github.com/kigster/sym/tree/v2.6.3) (2017-03-13)
|
8
15
|
[Full Changelog](https://github.com/kigster/sym/compare/v2.6.2...v2.6.3)
|
data/README.md
CHANGED
@@ -1,38 +1,48 @@
|
|
1
|
-
# Sym — Light
|
1
|
+
# Sym — Light-weight Symmetric Encryption for Humans
|
2
2
|
|
3
|
-
<hr/>
|
4
|
-
[](https://gitter.im/kigster/sym)
|
5
3
|
[](https://badge.fury.io/rb/sym)
|
6
4
|
[](https://rubygems.org/gems/sym)
|
7
|
-
[](http://inch-ci.org/github/kigster/sym)
|
8
5
|
|
9
6
|
[](https://travis-ci.org/kigster/sym)
|
10
7
|
[](https://codeclimate.com/github/kigster/sym)
|
11
8
|
[](https://codeclimate.com/github/kigster/sym/coverage)
|
12
9
|
[](https://codeclimate.com/github/kigster/sym)
|
13
10
|
|
14
|
-
|
11
|
+
[](https://gitter.im/kigster/sym)
|
12
|
+
|
13
|
+
---
|
15
14
|
|
16
|
-
**March 10th, 2017
|
15
|
+
**March 10th, 2017**. Please checkout the post "**[Dead Simple Encryption with Sym](http://kig.re/2017/03/10/dead-simple-encryption-with-sym.html)**" that announces this library, and provides further in-depth discussion.
|
16
|
+
|
17
|
+
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FSFYYNEQ8RKWU)
|
18
|
+
|
19
|
+
Your donation of absolutely any amount is very much appreciated.
|
20
|
+
|
21
|
+
---
|
17
22
|
|
18
23
|
## Description
|
19
24
|
|
20
25
|
<div style="padding 40px; margin: 40px; font-size: 13pt;">
|
21
26
|
|
22
|
-
<strong>sym</strong> is
|
27
|
+
<p><strong>sym</strong> is an open source command line utility and Ruby API which makes it very <em>easy to add reliable encryption and decryption</em> of sensitive data to an application or a project written in any language.</p>
|
28
|
+
|
29
|
+
<p>Unlike many existing encryption tools, <strong>sym</strong> focuses on narrowing the gap between convenience and security, by offering enhanced usability and a streamlined ruby API and a CLI. The primary goal of the library is to make encryption very easy and transparent. </p>
|
23
30
|
|
24
|
-
<strong>sym</strong> uses <em>
|
31
|
+
<p><strong>sym</strong> uses the <em><a href="https://en.wikipedia.org/wiki/Symmetric-key_algorithm">Symmetric Encryption</a></em> algorithm. This means that the same key is used to encrypt and decrypt data. In addition to the key, the encryption uses a randomized IV vector, which is automatically generated per each encryption and serialized with the data. Result of encryption is zlib-compressed, and base64 encoded, to be suitable for storage as string. The generated keys are also base64-encoded for convenience.</p>
|
32
|
+
|
33
|
+
<p>Finally, the library offers encryption using any regular password, and in particular supports password-protected encryption keys. The key can be specified by a filename, environment variable, or OS-X Keychain password entry name, or as is.</p>
|
25
34
|
|
26
35
|
</div>
|
27
36
|
|
28
37
|
## Supported Ruby Versions
|
29
38
|
|
30
|
-
Sym currently builds and runs on the following ruby versions, which can be verified on Travis CI:
|
31
39
|
[](https://travis-ci.org/kigster/sym)
|
32
40
|
|
41
|
+
Sym currently builds and runs on the following ruby versions:
|
42
|
+
|
33
43
|
* 2.2.5
|
34
44
|
* 2.3.3
|
35
|
-
* 2.4.
|
45
|
+
* 2.4.1
|
36
46
|
* jruby-9.1.7.0
|
37
47
|
|
38
48
|
### Motivation
|
@@ -41,9 +51,10 @@ The main goal when writing this tool was to streamline and simplify handling of
|
|
41
51
|
|
42
52
|
Most common use-cases include:
|
43
53
|
|
44
|
-
* __Encrypting/decrypting of application
|
54
|
+
* __Encrypting/decrypting of application secrets files__, so that the encrypted secrets can be safely checked into the git repository and distributed, and yet without much of the added headache that this often requires
|
45
55
|
* __Secure message transfer between any number of receipients__
|
46
|
-
* __General purpose encryption/decryption with a
|
56
|
+
* __General purpose encryption/decryption with a 256-bit encryption key__, optionally itself re-encrypted with a password.
|
57
|
+
* __General purpose encryption/decryption with an arbitrary password__.
|
47
58
|
|
48
59
|
__Sym__ is a layer built on top of the [`OpenSSL`](https://www.openssl.org/) library, and, hopefully, makes encryption more accessible to every-day developers, QA, and dev-ops folks, engaged in deploying applications.
|
49
60
|
|
@@ -51,23 +62,27 @@ __Sym__ is a layer built on top of the [`OpenSSL`](https://www.openssl.org/) lib
|
|
51
62
|
|
52
63
|
This gem includes two primary components:
|
53
64
|
|
54
|
-
1. [Rich command line interface CLI](#cli) with many features to streamline encryption/decryption
|
55
|
-
2. Ruby
|
56
|
-
* [
|
57
|
-
|
58
|
-
* [
|
59
|
-
|
65
|
+
1. **[Rich command line interface CLI](#cli)** with many features to streamline encryption/decryption, and to be integrated into the deployment flow.<br /><br />
|
66
|
+
2. Ruby APIs:
|
67
|
+
* **[Key Generation, Encryption & Decryption API](#rubyapi)**
|
68
|
+
- is activated by including `Sym` module in a class, it adds easy to use `encr`/`decr` methods.
|
69
|
+
* **[Application API to shadow the CLI usage](#rubyapi-app)**
|
70
|
+
- You can instantiate `Sym::Application` class with a hash representing CLI arguments, and then call it's `#execute` method to mimic CLI execution.
|
71
|
+
* **[Sym::MagicFile API](#magic-file)**
|
72
|
+
- This is a convenience class allowing you to encrypt/decrypt files in your ruby code with just couple of lines of code.
|
73
|
+
* **[Sym::Configuration](#rubyapi-config)**
|
74
|
+
- Use this class to override the default cipher, and configure other parameters such as compression, password caching, and more.
|
60
75
|
|
61
76
|
### Massive Time Savers
|
62
77
|
|
63
|
-
|
78
|
+
**Sym** tries very hard to get out of your way, to make it *feel* as if your encrypted files are as easy to work with as the unencrypted files. It accomplishes this transparency with the following features:
|
64
79
|
|
65
|
-
* By using Mac OS-X Keychain
|
66
|
-
* By using a password cache (`-c`) via an in-memory provider such as `memcached` or `drb`, `sym` invocations take advantage of password cache, and only ask for a password once per a configurable time period.
|
67
|
-
* By using
|
80
|
+
* By using **Mac OS-X Keychain**, `sym` offers a simple yet secure way of storing the key on a local machine, much more secure then storing it on a file system.
|
81
|
+
* By using a **password cache** (`-c`) via an in-memory provider such as `memcached` or `drb`, `sym` invocations take advantage of password cache, and only ask for a password once per a configurable time period.
|
82
|
+
* By using **`SYM_ARGS` environment variable** you can save common flags and they will be applied whenever `-A` flag is activated.
|
68
83
|
* By reading a key from the default key source file `~/.sym.key` which requires no flags at all.
|
69
|
-
* By utilizing the
|
70
|
-
* By using the
|
84
|
+
* By utilizing the **`--negate` option to quickly encrypt a regular file**, or decrypt an encrypted file with extension `.enc`.
|
85
|
+
* By using the **`-t file` (edit) mode**, that opens an encrypted file in your `$EDITOR`, and replaces the encrypted version upon save & exit.
|
71
86
|
|
72
87
|
As you can see, we really tried to build a tool that provides good security for application secrets, including password-based encryption, but does not annoyingly ask for password every time. With `--edit` option, and `--negate` options you can treat encrypted files like regular files.
|
73
88
|
|
@@ -116,8 +131,8 @@ Should you choose to install it (this part is optional), you will be able to use
|
|
116
131
|
4. Finally, we are ready to encrypt. The data to be encrypted can be read from a file with `-f filename`, or it can be read from STDIN, or a passed on the command line with `-s string`. For example, `sym -e -k ~/.key -f /etc/passwd` will encrypt the file and print the encrypted contents to STDOUT.
|
117
132
|
4. Instead of printing to STDOUT, the output can be saved to a file with `-o <file>` or a simple redirect or a pipe.
|
118
133
|
5. Encrypted file can later be decrypted with `sym -d ...` assuming the same key it was encrypted with.
|
119
|
-
6. Encrypted file with extension `.enc` can be automatically decrypted with `-n/--negate` option; if the file does not end with `.enc`, it is encrypted and `.enc` extension added to the resulting file.
|
120
|
-
7. With `-t` flag you can
|
134
|
+
6. Encrypted file with extension `.enc` can be automatically decrypted with `-n/--negate file` option; if the file does not end with `.enc`, it is encrypted and `.enc` extension added to the resulting file.
|
135
|
+
7. With `-t/--edit file` flag you can edit an encrypted file in VIM (or `$EDITOR`) any encrypted file and edit it. Once you save it, the file gets re-encrypted and replaces the previous version. A backup can be created with `-b` option. See the section on [inline editing](#inline)
|
121
136
|
|
122
137
|
A sample session that uses Mac OS-X Keychain to store the password-protected key.
|
123
138
|
|
@@ -159,7 +174,7 @@ The `sym` CLI tool supports one particularly interesting mode, that streamlines
|
|
159
174
|
|
160
175
|
Instead of decrypting data anytime you need to change it into a new file and then manually re-encrypting the result, you can use the shortcut flag `-t` (for "edi**t**"), which decrypts your data into a temporary file, automatically opening it with an `$EDITOR`.
|
161
176
|
|
162
|
-
sym -t
|
177
|
+
sym -t config/application/secrets.yml.enc -k ~/.key
|
163
178
|
|
164
179
|
> This is one of those time-saving features that can make a difference in making encryption feel easy and transparent.
|
165
180
|
|
@@ -174,7 +189,7 @@ Here is a full command that opens a file specified by `-f | --file`, using the k
|
|
174
189
|
|
175
190
|
Example: here we edit an encrypted file in `vim`, while using interactive mode to paste the key (`-i | --interactive`), and then creating a backup file (`-b | --backup`) upon save:
|
176
191
|
|
177
|
-
sym -
|
192
|
+
sym -ibt data.enc
|
178
193
|
# => Private Key: ••••••••••••••••••••••••••••••••••••••••••••
|
179
194
|
#
|
180
195
|
# => Diff:
|
@@ -383,9 +398,9 @@ You can use the generated private key by passing an argument to the `-k` flag.
|
|
383
398
|
|
384
399
|
#### Inline Editing
|
385
400
|
|
386
|
-
The `sym` CLI tool supports one particularly interesting mode, that streamlines handling of encrypted files. The mode is called __edit mode__, and is activated with the `-t` flag.
|
401
|
+
The `sym` CLI tool supports one particularly interesting mode, that streamlines handling of encrypted files. The mode is called __edit mode__, and is activated with the `-t file` flag.
|
387
402
|
|
388
|
-
In this mode `sym`
|
403
|
+
In this mode `sym` will automaticaly decrypt the encrypted file into a temporary file, and then open it in `$EDITOR`. Once you quit the editor, `sym` will automatically diff the new and old content, and if it is different, `sym` will re-encrypt the new contents and overwrite the original file. You can create an optional backup by adding `-b` flag.
|
389
404
|
|
390
405
|
> NOTE: this mode does not seem to work with GUI editors such as Atom or TextMate. Since `sym` waits for the editor process to complete, GUI editors "complete" immediately upon starting a windowed application.
|
391
406
|
In this mode several flags are of importance:
|
@@ -393,7 +408,7 @@ In this mode several flags are of importance:
|
|
393
408
|
-b (--backup) – will create a backup of the original file
|
394
409
|
-v (--verbose) - will show additional info about file sizes
|
395
410
|
|
396
|
-
Here is a full command that opens a file specified by `-
|
411
|
+
Here is a full command that opens a file specified by `-t | --edit file`, using the key specified in `-k | --keyfile`, in the editor defined by the `$EDITOR` environment variable (or if not set – defaults to `/bin/vi`)".
|
397
412
|
|
398
413
|
To edit an encrypted file in `$EDITOR`, while asking to paste the key (`-i | --interactive`), while creating a backup file (`-b | --backup`):
|
399
414
|
|
@@ -571,21 +586,29 @@ Bug reports and pull requests are welcome on GitHub at [https://github.com/kigst
|
|
571
586
|
|
572
587
|
### License
|
573
588
|
|
574
|
-
|
575
|
-
|
576
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
589
|
+
**Sym** library is © 2016-2017 Konstantin Gredeskoul.
|
577
590
|
|
578
|
-
The library is designed to be a layer on top of [`OpenSSL`](https://www.openssl.org/), distributed under the [Apache Style license](https://www.openssl.org/source/license.txt).
|
591
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). The library is designed to be a layer on top of [`OpenSSL`](https://www.openssl.org/), distributed under the [Apache Style license](https://www.openssl.org/source/license.txt).
|
579
592
|
|
580
593
|
### Acknowledgements
|
581
594
|
|
582
|
-
|
595
|
+
* The blog post [(Symmetric) Encryption With Ruby (and Rails)](http://stuff-things.net/2015/02/12/symmetric-encryption-with-ruby-and-rails/) provided the inspiration for this gem.
|
596
|
+
* We'd like to thank [Spike Ilacqua](http://stuff-things.net/spike/), the author of the [strongbox](https://github.com/spikex/strongbox) gem, for providing very easy-to-read code examples of symmetric encryption.
|
597
|
+
* We'd like to thank [Wissam Jarjoui](https://github.com/bosswissam) for support and inspiration, as well as testing of the early versions of this gem.
|
598
|
+
|
583
599
|
|
584
600
|
#### Contributors:
|
585
601
|
|
586
|
-
|
587
|
-
|
588
|
-
|
602
|
+
Contributions of any kind are very much welcome from anyone.
|
603
|
+
|
604
|
+
Any pull requests will be reviewed promptly.
|
605
|
+
|
606
|
+
Please submit feature requests, bugs, or donations :)
|
607
|
+
|
608
|
+
* [Konstantin Gredeskoul](http:/kig.re) (primary developer)
|
609
|
+
* [Wissam Jarjoui](https://github.com/bosswissam) (testing, inspiration)
|
610
|
+
* [Megan Mathews](https://github.com/meganmmathews) (UX, CLI suggestions)
|
611
|
+
* [Barry Anderson](https://twitter.com/z3ndrag0n) (sanity checking, review)
|
589
612
|
|
590
613
|
|
591
614
|
|
data/SYM-CLI.md
CHANGED
@@ -138,6 +138,6 @@ sym -gpcx staging.key
|
|
138
138
|
sym -e -c -k staging.key -n etc/passwords.enc
|
139
139
|
————————————————————————————————————————————————————————————————————————————————
|
140
140
|
# use the new key to inline-edit the encrypted file:
|
141
|
-
sym -k mykey -
|
141
|
+
sym -k mykey -t sym.yml.enc
|
142
142
|
————————————————————————————————————————————————————————————————————————————————
|
143
143
|
```
|
data/bin/sym.symit
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/sym/app/cli_slop.rb
CHANGED
@@ -29,11 +29,11 @@ module Sym
|
|
29
29
|
o.separator ''
|
30
30
|
o.separator ' Auto-detect mode based on a special file extension '.dark + '".enc"'.dark.bold
|
31
31
|
o.separator ' '
|
32
|
-
o.separator ' sym
|
32
|
+
o.separator ' sym '.green.bold + key_spec + ' -n/--negate file[.enc] '.green.bold
|
33
33
|
o.separator ' '
|
34
34
|
o.separator ' Edit an encrypted file in $EDITOR '.dark
|
35
35
|
o.separator ' '
|
36
|
-
o.separator ' sym
|
36
|
+
o.separator ' sym '.green.bold + key_spec + ' -t/--edit file[.enc] [ -b/--backup ]'.green.bold
|
37
37
|
o.separator ' '
|
38
38
|
o.separator ' Save commonly used flags in a BASH variable. Below we save the KeyChain '.dark
|
39
39
|
o.separator ' "staging" as the default key name, and enable password caching.'.dark
|
@@ -48,7 +48,7 @@ module Sym
|
|
48
48
|
o.separator 'Modes:'.yellow
|
49
49
|
o.bool '-e', '--encrypt', ' encrypt mode'
|
50
50
|
o.bool '-d', '--decrypt', ' decrypt mode'
|
51
|
-
o.
|
51
|
+
o.string '-t', '--edit', '[file] '.blue + ' edit encrypted file in an $EDITOR', default: nil
|
52
52
|
o.string '-n', '--negate', '[file] '.blue + " encrypts any regular #{'file'.green} into #{'file.enc'.green}" + "\n" +
|
53
53
|
" conversely decrypts #{'file.enc'.green} into #{'file'.green}."
|
54
54
|
o.separator ' '
|
@@ -43,8 +43,8 @@ module Sym
|
|
43
43
|
output << example(comment: 'decrypt an encrypted file and print it to STDOUT:',
|
44
44
|
command: 'sym -ck production.key -df secrets.yml.enc')
|
45
45
|
|
46
|
-
output << example(comment: 'edit an encrypted file in $EDITOR, use default key file, create
|
47
|
-
command: 'sym -
|
46
|
+
output << example(comment: 'edit an encrypted file in $EDITOR, use default key file, create a backup',
|
47
|
+
command: 'sym -bt secrets.enc',
|
48
48
|
result: '
|
49
49
|
Private Key: ••••••••••••••••••••••••••••••••••••••••••••
|
50
50
|
Saved encrypted content to sym.enc.
|
@@ -64,7 +64,7 @@ Diff:
|
|
64
64
|
command: 'sym -e -c -k staging.key -n etc/passwords.enc')
|
65
65
|
|
66
66
|
output << example(comment: 'use the new key to inline-edit the encrypted file:',
|
67
|
-
command: 'sym -k mykey -
|
67
|
+
command: 'sym -k mykey -t sym.yml.enc')
|
68
68
|
end
|
69
69
|
|
70
70
|
output.flatten.compact.join("\n")
|
data/lib/sym/application.rb
CHANGED
@@ -42,6 +42,7 @@ module Sym
|
|
42
42
|
self.opts = opts.is_a?(Hash) ? opts : opts.to_hash
|
43
43
|
|
44
44
|
process_negated_option(opts[:negate]) if opts[:negate]
|
45
|
+
process_edit_option
|
45
46
|
|
46
47
|
self.args = ::Sym::App::Args.new(self.provided_options)
|
47
48
|
|
@@ -184,6 +185,13 @@ module Sym
|
|
184
185
|
self.password_cache = Sym::App::Password::Cache.instance.configure(args)
|
185
186
|
end
|
186
187
|
|
188
|
+
def process_edit_option
|
189
|
+
if opts[:edit] && opts[:edit].is_a?(String) && opts[:file].nil?
|
190
|
+
opts[:file] = opts[:edit]
|
191
|
+
opts[:edit] = true
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
187
195
|
def process_negated_option(file)
|
188
196
|
opts.delete(:negate)
|
189
197
|
opts[:file] = file
|
data/lib/sym/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Sym
|
2
|
-
VERSION = '2.
|
2
|
+
VERSION = '2.7.0'
|
3
3
|
DESCRIPTION = <<-eof
|
4
4
|
Sym is a ruby library (gem) that offers both the command line interface (CLI) and a set of rich Ruby APIs, which make it rather trivial to add encryption and decryption of sensitive data to your development or deployment flow. As a layer of additional security, you can encrypt the private key itself with a password. Unlike many other existing encryption tools, Sym focuses on getting out of the way — by offering its streamlined interface, hoping to make encryption of application secrets nearly completely transparent to the developers. For the data encryption Sym uses a symmetric 256-bit key with the AES-256-CBC cipher, same cipher as used by the US Government. For password-protecting the key Sym uses AES-128-CBC cipher. The resulting data is zlib-compressed and base64-encoded. The keys are also base64 encoded for easy copying/pasting/etc.
|
5
5
|
|
data/sym.gemspec
CHANGED
@@ -55,6 +55,7 @@ EOF
|
|
55
55
|
|
56
56
|
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
|
57
57
|
spec.add_development_dependency 'simplecov'
|
58
|
+
spec.add_development_dependency 'irbtools'
|
58
59
|
spec.add_development_dependency 'aruba'
|
59
60
|
spec.add_development_dependency 'bundler', '~> 1'
|
60
61
|
spec.add_development_dependency 'rake'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sym
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Gredeskoul
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: irbtools
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: aruba
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -257,6 +271,10 @@ files:
|
|
257
271
|
- bin/setup
|
258
272
|
- bin/sym.completion
|
259
273
|
- bin/sym.symit
|
274
|
+
- design/sym-class-dependency-future-refactor.png
|
275
|
+
- design/sym-class-dependency.graffle
|
276
|
+
- design/sym-class-dependency.pdf
|
277
|
+
- design/sym-class-dependency.png
|
260
278
|
- exe/keychain
|
261
279
|
- exe/sym
|
262
280
|
- lib/sym.rb
|
@@ -337,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
337
355
|
version: '0'
|
338
356
|
requirements: []
|
339
357
|
rubyforge_project:
|
340
|
-
rubygems_version: 2.
|
358
|
+
rubygems_version: 2.6.11
|
341
359
|
signing_key:
|
342
360
|
specification_version: 4
|
343
361
|
summary: Dead-simple and easy to use encryption library on top of OpenSSL, offering
|