rake_gpg 0.1.0.pre.4 → 0.1.0.pre.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7663132987037e3584bc0dda3ff44aa3acf296aaed4795f20174e0a47ba90c2
4
- data.tar.gz: 2234972ae4111e9aef244733a4afbd28177ca0bfa7c5cce6d79f95015dffaa36
3
+ metadata.gz: c602869b8458c83a1edb189caa51a7fa98caf3d0d845f92e2357029bf7ec4643
4
+ data.tar.gz: fe5093e467d1ff376ba134528ee613adb8e05c78e6c97e214f329e3c4492b0e9
5
5
  SHA512:
6
- metadata.gz: ce46741e4ab9fef6aba8252afb5bc9245c97309556d2a1ace1fd76d714895242c0300d55c92a017ce4150f71f7e4ca276eda7085d62c6241927eb476dd3baa09
7
- data.tar.gz: 1dae854ec019bac3f7fe7dae189054d054af08b0f8364d54f436eb1bbb36b70576b42b238d985da7aa40d2f9301fae90b98d581c8684343a7414029fafe300f2
6
+ metadata.gz: 6428779bd92058e85aac0ed2868e94948f719c23986864571d7f27ce9bd8f475ae3611908ead648bc5a6a6c3acfbf66d0a74f286ecc550a09c9ca2807a0f7381
7
+ data.tar.gz: 9fce6b5ca4d87423abc936d2c40536f017f905d467d031456d447ce08be2d739cd581537a4fb482e2281285bf67d591b70bc459950296c5ffa0f3578e0ef6b50
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_gpg (0.1.0.pre.4)
4
+ rake_gpg (0.1.0.pre.5)
5
5
  rake_factory (>= 0.23, < 1)
6
- ruby_gpg2 (= 0.1.0.pre.22)
6
+ ruby_gpg2 (= 0.1.0.pre.27)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -70,7 +70,7 @@ GEM
70
70
  diff-lcs (>= 1.2.0, < 2.0)
71
71
  rspec-support (~> 3.9.0)
72
72
  rspec-support (3.9.3)
73
- ruby_gpg2 (0.1.0.pre.22)
73
+ ruby_gpg2 (0.1.0.pre.27)
74
74
  lino (= 1.3.0)
75
75
  sawyer (0.8.2)
76
76
  addressable (>= 2.3.5)
@@ -1,4 +1,5 @@
1
- require_relative 'tasks/key'
1
+ require_relative 'tasks/keys'
2
+ require_relative 'tasks/encryption'
2
3
 
3
4
  module RakeGPG
4
5
  module Tasks
@@ -0,0 +1,10 @@
1
+ require_relative 'encryption/decrypt'
2
+ require_relative 'encryption/encrypt'
3
+
4
+ module RakeGPG
5
+ module Tasks
6
+ module Encryption
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,55 @@
1
+ require 'rake_factory'
2
+ require 'ruby_gpg2'
3
+
4
+ module RakeGPG
5
+ module Tasks
6
+ module Encryption
7
+ class Decrypt < RakeFactory::Task
8
+ default_name :decrypt
9
+ default_description "Decrypt a file using GPG"
10
+
11
+ parameter :key_file_path, required: true
12
+ parameter :input_file_path, required: true
13
+ parameter :output_file_path, required: true
14
+
15
+ parameter :work_directory, default: 'build/gpg'
16
+ parameter :home_directory, default: :temporary
17
+
18
+ parameter :trust_mode, default: :always
19
+ parameter :passphrase
20
+
21
+ action do |t|
22
+ if t.home_directory == :temporary
23
+ Dir.mktmpdir(
24
+ 'home', t.work_directory) do |home_directory|
25
+ do_decrypt(t, home_directory)
26
+ end
27
+ else
28
+ do_decrypt(t, t.home_directory)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def do_decrypt(t, home_directory)
35
+ puts "Decrypting #{t.input_file_path} with key #{t.key_file_path}..."
36
+ RubyGPG2.import(
37
+ key_file_paths: [t.key_file_path],
38
+ work_directory: t.work_directory,
39
+ home_directory: home_directory,
40
+ with_status: true)
41
+
42
+ RubyGPG2.decrypt(
43
+ input_file_path: t.input_file_path,
44
+ output_file_path: t.output_file_path,
45
+ home_directory: home_directory,
46
+ trust_mode: t.trust_mode,
47
+ passphrase: t.passphrase,
48
+ pinentry_mode: :loopback,
49
+ without_passphrase: !t.passphrase)
50
+ puts "Done."
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,60 @@
1
+ require 'rake_factory'
2
+ require 'ruby_gpg2'
3
+
4
+ module RakeGPG
5
+ module Tasks
6
+ module Encryption
7
+ class Encrypt < RakeFactory::Task
8
+ default_name :encrypt
9
+ default_description "Encrypt a file using GPG"
10
+
11
+ parameter :key_file_path, required: true
12
+ parameter :input_file_path, required: true
13
+ parameter :output_file_path, required: true
14
+
15
+ parameter :work_directory, default: 'build/gpg'
16
+ parameter :home_directory, default: :temporary
17
+
18
+ parameter :armor, default: true
19
+ parameter :trust_mode, default: :always
20
+
21
+ action do |t|
22
+ if t.home_directory == :temporary
23
+ Dir.mktmpdir(
24
+ 'home', t.work_directory) do |home_directory|
25
+ do_encrypt(t, home_directory)
26
+ end
27
+ else
28
+ do_encrypt(t, t.home_directory)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def do_encrypt(t, home_directory)
35
+ puts "Encrypting #{t.input_file_path} for key #{t.key_file_path}..."
36
+ result = RubyGPG2.import(
37
+ key_file_paths: [t.key_file_path],
38
+ work_directory: t.work_directory,
39
+ home_directory: home_directory,
40
+ with_status: true)
41
+
42
+ key_fingerprint = result
43
+ .status
44
+ .filter_by_type(:import_ok)
45
+ .first_line
46
+ .key_fingerprint
47
+
48
+ RubyGPG2.encrypt(
49
+ recipient: key_fingerprint,
50
+ input_file_path: t.input_file_path,
51
+ output_file_path: t.output_file_path,
52
+ home_directory: home_directory,
53
+ armor: t.armor,
54
+ trust_mode: t.trust_mode)
55
+ puts "Done."
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'keys/generate'
2
+ require_relative 'keys/import'
3
+
4
+ module RakeGPG
5
+ module Tasks
6
+ module Keys
7
+
8
+ end
9
+ end
10
+ end
@@ -3,7 +3,7 @@ require 'ruby_gpg2'
3
3
 
4
4
  module RakeGPG
5
5
  module Tasks
6
- module Key
6
+ module Keys
7
7
  class Generate < RakeFactory::Task
8
8
  default_name :generate
9
9
  default_description "Generate a GPG key"
@@ -31,16 +31,16 @@ module RakeGPG
31
31
  if t.home_directory == :temporary
32
32
  Dir.mktmpdir(
33
33
  'home', t.work_directory) do |home_directory|
34
- generate_key(t, home_directory)
34
+ do_generate_key(t, home_directory)
35
35
  end
36
36
  else
37
- generate_key(t, t.home_directory)
37
+ do_generate_key(t, t.home_directory)
38
38
  end
39
39
  end
40
40
 
41
41
  private
42
42
 
43
- def generate_key(t, home_directory)
43
+ def do_generate_key(t, home_directory)
44
44
  puts "Generating GPG key for #{t.owner_name} <#{t.owner_email}>..."
45
45
 
46
46
  mkdir_p t.work_directory
@@ -3,7 +3,7 @@ require 'ruby_gpg2'
3
3
 
4
4
  module RakeGPG
5
5
  module Tasks
6
- module Key
6
+ module Keys
7
7
  class Import < RakeFactory::Task
8
8
  default_name :import
9
9
  default_description "Import a GPG key"
@@ -16,17 +16,17 @@ module RakeGPG
16
16
  if t.home_directory == :temporary
17
17
  Dir.mktmpdir(
18
18
  'home', t.work_directory) do |home_directory|
19
- import_key(t, home_directory)
19
+ do_import_key(t, home_directory)
20
20
  end
21
21
  else
22
- import_key(t, t.home_directory)
22
+ do_import_key(t, t.home_directory)
23
23
  end
24
24
 
25
25
  end
26
26
 
27
27
  private
28
28
 
29
- def import_key(t, home_directory)
29
+ def do_import_key(t, home_directory)
30
30
  puts "Importing GPG key from #{t.key_file_path} " +
31
31
  "into #{home_directory}..."
32
32
  RubyGPG2.import(
@@ -1,3 +1,3 @@
1
1
  module RakeGPG
2
- VERSION = '0.1.0.pre.4'
2
+ VERSION = '0.1.0.pre.5'
3
3
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.required_ruby_version = '>= 2.6.0'
26
26
 
27
27
  spec.add_dependency 'rake_factory', '>= 0.23', '< 1'
28
- spec.add_dependency 'ruby_gpg2', '0.1.0.pre.22'
28
+ spec.add_dependency 'ruby_gpg2', '0.1.0.pre.27'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '~> 2.1'
31
31
  spec.add_development_dependency 'rake', '~> 13.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_gpg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.4
4
+ version: 0.1.0.pre.5
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-05-05 00:00:00.000000000 Z
11
+ date: 2020-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_factory
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.0.pre.22
39
+ version: 0.1.0.pre.27
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 0.1.0.pre.22
46
+ version: 0.1.0.pre.27
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -236,9 +236,12 @@ files:
236
236
  - go
237
237
  - lib/rake_gpg.rb
238
238
  - lib/rake_gpg/tasks.rb
239
- - lib/rake_gpg/tasks/key.rb
240
- - lib/rake_gpg/tasks/key/generate.rb
241
- - lib/rake_gpg/tasks/key/import.rb
239
+ - lib/rake_gpg/tasks/encryption.rb
240
+ - lib/rake_gpg/tasks/encryption/decrypt.rb
241
+ - lib/rake_gpg/tasks/encryption/encrypt.rb
242
+ - lib/rake_gpg/tasks/keys.rb
243
+ - lib/rake_gpg/tasks/keys/generate.rb
244
+ - lib/rake_gpg/tasks/keys/import.rb
242
245
  - lib/rake_gpg/version.rb
243
246
  - rake_gpg.gemspec
244
247
  - scripts/ci/common/configure-git.sh
@@ -1,10 +0,0 @@
1
- require_relative 'key/generate'
2
- require_relative 'key/import'
3
-
4
- module RakeGPG
5
- module Tasks
6
- module Key
7
-
8
- end
9
- end
10
- end