shredder 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +2 -2
- data/bin/shredder +20 -9
- data/lib/shredder.rb +1 -1
- metadata +4 -4
data/README.txt
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'shredder'
|
4
4
|
|
5
5
|
# Shreds text.txt into test.f.1, test.f.2, test.f.3
|
6
|
-
Shredder::Files.new('
|
6
|
+
Shredder::Files.new('README.txt', ['test.f.1','test.f.2','test.f.3'] ).shred
|
7
7
|
|
8
8
|
# Sews test.f.1, test.f.2, test.f.3 into restored.f.txt
|
9
9
|
Shredder::Files.new('restored.f.txt', ['test.f.1','test.f.2','test.f.3'] ).sew
|
@@ -11,7 +11,7 @@ Shredder::Files.new('restored.f.txt', ['test.f.1','test.f.2','test.f.3'] ).sew
|
|
11
11
|
# or #
|
12
12
|
|
13
13
|
# shred streams #
|
14
|
-
reader = File.open('
|
14
|
+
reader = File.open('README.txt','r')
|
15
15
|
writers = []; ['test.s.1','test.s.2','test.s.3'].each{|writer| writers.push(File.open(writer,'wb'))}
|
16
16
|
Shredder::Streams.new(reader,writers).shred
|
17
17
|
reader.close
|
data/bin/shredder
CHANGED
@@ -3,7 +3,7 @@ require 'shredder'
|
|
3
3
|
raise "Need Shredder version ~> 0.1" if Shredder::VERSION < '0.1'
|
4
4
|
|
5
5
|
# Command line utility
|
6
|
-
class
|
6
|
+
class CommandLine
|
7
7
|
def self.version
|
8
8
|
puts Shredder::VERSION
|
9
9
|
exit(0)
|
@@ -15,9 +15,10 @@ shredder --shred sewed_file shred_file1 shred_file2... # shred a file to s
|
|
15
15
|
shredder --io --shred shred_file1 shred_file2... # shred stdin to shreds
|
16
16
|
shredder --sew sewed_file shred_file1 shred_file2... # sew shreds back to file
|
17
17
|
shredder --io --sew shred_file1 shred_file2... # sew shreds out to stdout
|
18
|
+
# --relay in sew mode will relay the first gets from stdin (used to pass on a passphrase to gpg, for example).
|
18
19
|
EOT
|
19
|
-
print "VERSION: "
|
20
|
-
|
20
|
+
print "# VERSION: "
|
21
|
+
CommandLine.version
|
21
22
|
end
|
22
23
|
|
23
24
|
def self.parse_argv
|
@@ -25,8 +26,8 @@ EOT
|
|
25
26
|
while ARGV[0]=~/^-/ do
|
26
27
|
options += ARGV.shift
|
27
28
|
end
|
28
|
-
|
29
|
-
|
29
|
+
CommandLine.version if options =~ /-v\b/ || options =~ /--version\b/ # need to allow verbose below.
|
30
|
+
CommandLine.help if ARGV.length==0 || options =~ /-h/
|
30
31
|
$verbose = (options=~/--verbose\b/)? true : false
|
31
32
|
# validate
|
32
33
|
raise "--sew or --shred ?" if !(options=~/--sew\b/) && !(options=~/--shred\b/)
|
@@ -37,8 +38,9 @@ EOT
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def initialize
|
40
|
-
options =
|
41
|
-
@shredding = (options=~/--shred/)? true : false
|
41
|
+
options = CommandLine.parse_argv
|
42
|
+
@shredding = (options=~/--shred\b/)? true : false
|
43
|
+
@relay = (options=~/--relay\b/)? true : false
|
42
44
|
if options=~/--io/ then
|
43
45
|
if @shredding then
|
44
46
|
@sew = $stdin
|
@@ -56,9 +58,18 @@ EOT
|
|
56
58
|
def execute
|
57
59
|
shredder = (@sew.class == String)? Shredder::Files.new(@sew,@shreds): Shredder::Streams.new(@sew,@shreds)
|
58
60
|
begin
|
59
|
-
|
61
|
+
if @shredding then
|
62
|
+
shredder.shred
|
63
|
+
else
|
64
|
+
if @relay && (passphrase = $stdin.gets) then
|
65
|
+
# In a typical situation, we may be asked to relay a passphrase
|
66
|
+
$stdout.puts passphrase
|
67
|
+
end
|
68
|
+
shredder.sew
|
69
|
+
end
|
60
70
|
rescue StandardError
|
61
71
|
$stderr.puts $!
|
72
|
+
$stderr.puts $!.backtrace if $verbose
|
62
73
|
ensure
|
63
74
|
@shreds.each{|filehandle| filehandle.close} if !(@sew.class == String)
|
64
75
|
end
|
@@ -66,7 +77,7 @@ EOT
|
|
66
77
|
end
|
67
78
|
|
68
79
|
begin
|
69
|
-
|
80
|
+
CommandLine.new.execute
|
70
81
|
rescue StandardError
|
71
82
|
$stderr.puts $!
|
72
83
|
$stderr.puts $!.backtrace if $verbose
|
data/lib/shredder.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shredder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- carlosjhr64@gmail.com
|