ruby_gpg2 0.1.0.pre.3 → 0.1.0.pre.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ruby_gpg2/colon_output.rb +11 -1
- data/lib/ruby_gpg2/colon_record.rb +8 -2
- data/lib/ruby_gpg2/commands/base.rb +8 -15
- data/lib/ruby_gpg2/commands/generate_key.rb +2 -0
- data/lib/ruby_gpg2/commands/list_public_keys.rb +22 -0
- data/lib/ruby_gpg2/commands/mixins/batch_config.rb +15 -0
- data/lib/ruby_gpg2/commands/mixins/colon_config.rb +15 -0
- data/lib/ruby_gpg2/commands/mixins/global_config.rb +0 -2
- data/lib/ruby_gpg2/commands/mixins/with_captured_output.rb +22 -0
- data/lib/ruby_gpg2/commands.rb +1 -0
- data/lib/ruby_gpg2/version.rb +1 -1
- data/lib/ruby_gpg2.rb +4 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9983337ad6842d933f046ade16db182df89cc4fa92275aa287db62fdca3fa0de
|
4
|
+
data.tar.gz: a6853e170aa664350f00183a92b417083c7a5d94106f3aed81503d0055d571ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23bca3f4f330f9e29c0ecff4df0bb3de24f3a06e9e1b139eec394395012cafa10118752229f9449cd13e827df48a8980d805e4350e6877ab46f1bb13714994e6
|
7
|
+
data.tar.gz: 00ebe337f7b596c5ae3111bc883f9ab5efb6c7cfac729cfad43bd757c01cdfccb0b241c9b5f5d54f91b93763edcf31857de2213681b34d02717a446370282941
|
data/Gemfile.lock
CHANGED
@@ -6,7 +6,7 @@ module RubyGPG2
|
|
6
6
|
new(records
|
7
7
|
.strip
|
8
8
|
.split("\n")
|
9
|
-
.collect { |record|
|
9
|
+
.collect { |record| ColonRecord.parse(record) })
|
10
10
|
end
|
11
11
|
|
12
12
|
include Enumerable
|
@@ -18,5 +18,15 @@ module RubyGPG2
|
|
18
18
|
def each(&block)
|
19
19
|
@records.each(&block)
|
20
20
|
end
|
21
|
+
|
22
|
+
def ==(other)
|
23
|
+
other.class == self.class && other.state == state
|
24
|
+
end
|
25
|
+
|
26
|
+
protected
|
27
|
+
|
28
|
+
def state
|
29
|
+
[@records]
|
30
|
+
end
|
21
31
|
end
|
22
32
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
1
3
|
module RubyGPG2
|
2
4
|
class ColonRecord
|
3
5
|
TYPES = {
|
@@ -65,14 +67,18 @@ module RubyGPG2
|
|
65
67
|
'e' => :encrypt,
|
66
68
|
's' => :sign,
|
67
69
|
'c' => :certify,
|
70
|
+
'a' => :authenticate,
|
68
71
|
'E' => :primary_encrypt,
|
69
72
|
'S' => :primary_sign,
|
70
|
-
'C' => :primary_certify
|
73
|
+
'C' => :primary_certify,
|
74
|
+
'A' => :primary_authenticate,
|
75
|
+
'?' => :unknown
|
71
76
|
}
|
72
77
|
|
73
78
|
COMPLIANCE_MODES = {
|
74
79
|
'8' => :rfc_4880bis,
|
75
|
-
'23' => :de_vs
|
80
|
+
'23' => :de_vs,
|
81
|
+
'6001' => :roca_screening_hit
|
76
82
|
}
|
77
83
|
|
78
84
|
def self.parse(record)
|
@@ -3,22 +3,11 @@ require 'lino'
|
|
3
3
|
module RubyGPG2
|
4
4
|
module Commands
|
5
5
|
class Base
|
6
|
-
|
7
|
-
|
8
|
-
def initialize(binary: nil)
|
6
|
+
def initialize(binary: nil, stdin: nil, stdout: nil, stderr: nil)
|
9
7
|
@binary = binary || RubyGPG2.configuration.binary
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
''
|
14
|
-
end
|
15
|
-
|
16
|
-
def stdout
|
17
|
-
STDOUT
|
18
|
-
end
|
19
|
-
|
20
|
-
def stderr
|
21
|
-
STDERR
|
8
|
+
@stdin = stdin || RubyGPG2.configuration.stdin
|
9
|
+
@stdout = stdout || RubyGPG2.configuration.stdout
|
10
|
+
@stderr = stderr || RubyGPG2.configuration.stderr
|
22
11
|
end
|
23
12
|
|
24
13
|
def execute(opts = {})
|
@@ -35,6 +24,10 @@ module RubyGPG2
|
|
35
24
|
do_after(opts)
|
36
25
|
end
|
37
26
|
|
27
|
+
protected
|
28
|
+
|
29
|
+
attr_reader :binary, :stdin, :stdout, :stderr
|
30
|
+
|
38
31
|
def instantiate_builder
|
39
32
|
Lino::CommandLineBuilder
|
40
33
|
.for_command(binary)
|
@@ -2,11 +2,13 @@ require 'lino'
|
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
4
|
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/batch_config'
|
5
6
|
|
6
7
|
module RubyGPG2
|
7
8
|
module Commands
|
8
9
|
class GenerateKey < Base
|
9
10
|
include Mixins::GlobalConfig
|
11
|
+
include Mixins::BatchConfig
|
10
12
|
|
11
13
|
def configure_command(builder, opts)
|
12
14
|
parameter_file_path = opts[:parameter_file_path]
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'lino'
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/colon_config'
|
6
|
+
require_relative 'mixins/with_captured_output'
|
7
|
+
|
8
|
+
module RubyGPG2
|
9
|
+
module Commands
|
10
|
+
class ListPublicKeys < Base
|
11
|
+
include Mixins::GlobalConfig
|
12
|
+
include Mixins::ColonConfig
|
13
|
+
include Mixins::WithCapturedOutput
|
14
|
+
|
15
|
+
def configure_command(builder, opts)
|
16
|
+
builder = builder.with_subcommand('--list-public-keys')
|
17
|
+
builder = super(builder, opts)
|
18
|
+
builder
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyGPG2
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module BatchConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
batch = opts[:batch].nil? ? true : opts[:batch]
|
7
|
+
|
8
|
+
builder = super(builder, opts)
|
9
|
+
builder = builder.with_flag('--batch') if batch
|
10
|
+
builder
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyGPG2
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module ColonConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
with_colons = opts[:with_colons].nil? ? true : opts[:with_colons]
|
7
|
+
|
8
|
+
builder = super(builder, opts)
|
9
|
+
builder = builder.with_flag('--with-colons') if with_colons
|
10
|
+
builder
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -3,11 +3,9 @@ module RubyGPG2
|
|
3
3
|
module Mixins
|
4
4
|
module GlobalConfig
|
5
5
|
def configure_command(builder, opts)
|
6
|
-
batch = opts[:batch].nil? ? true : opts[:batch]
|
7
6
|
home_directory = opts[:home_directory]
|
8
7
|
|
9
8
|
builder = super(builder, opts)
|
10
|
-
builder = builder.with_flag('--batch') if batch
|
11
9
|
builder = builder.with_option(
|
12
10
|
'--homedir', home_directory, quoting: '"') if home_directory
|
13
11
|
builder
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'stringio'
|
2
|
+
|
3
|
+
module RubyGPG2
|
4
|
+
module Commands
|
5
|
+
module Mixins
|
6
|
+
module WithCapturedOutput
|
7
|
+
def initialize(*args)
|
8
|
+
super(*args)
|
9
|
+
@stdout = StringIO.new unless
|
10
|
+
(defined?(@stdout) && @stdout.respond_to?(:string))
|
11
|
+
end
|
12
|
+
|
13
|
+
def do_after(opts)
|
14
|
+
parse_output = opts[:parse_output].nil? ? true : opts[:parse_output]
|
15
|
+
parse_output ?
|
16
|
+
ColonOutput.parse(stdout.string) :
|
17
|
+
stdout.string
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/ruby_gpg2/commands.rb
CHANGED
data/lib/ruby_gpg2/version.rb
CHANGED
data/lib/ruby_gpg2.rb
CHANGED
@@ -21,10 +21,13 @@ module RubyGPG2
|
|
21
21
|
end
|
22
22
|
|
23
23
|
class Configuration
|
24
|
-
attr_accessor :binary
|
24
|
+
attr_accessor :binary, :logger, :stdin, :stdout, :stderr
|
25
25
|
|
26
26
|
def initialize
|
27
27
|
@binary = 'gpg'
|
28
|
+
@stdin = ''
|
29
|
+
@stdout = $stdout
|
30
|
+
@stderr = $stderr
|
28
31
|
end
|
29
32
|
end
|
30
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_gpg2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.pre.
|
4
|
+
version: 0.1.0.pre.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toby Clemson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lino
|
@@ -164,7 +164,11 @@ files:
|
|
164
164
|
- lib/ruby_gpg2/commands.rb
|
165
165
|
- lib/ruby_gpg2/commands/base.rb
|
166
166
|
- lib/ruby_gpg2/commands/generate_key.rb
|
167
|
+
- lib/ruby_gpg2/commands/list_public_keys.rb
|
168
|
+
- lib/ruby_gpg2/commands/mixins/batch_config.rb
|
169
|
+
- lib/ruby_gpg2/commands/mixins/colon_config.rb
|
167
170
|
- lib/ruby_gpg2/commands/mixins/global_config.rb
|
171
|
+
- lib/ruby_gpg2/commands/mixins/with_captured_output.rb
|
168
172
|
- lib/ruby_gpg2/parameter_file.rb
|
169
173
|
- lib/ruby_gpg2/version.rb
|
170
174
|
- ruby_gpg2.gemspec
|