techinform 1.4.5 → 1.4.6

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: a6eed700c5d31d287760c0358c2fcdfdc92d80e7f5dad1ca5728834a3ec4dbd0
4
- data.tar.gz: 03be94dcec928086b0f34a1526966d3298f773bd537f035051c1d1302bedc541
3
+ metadata.gz: 9e2242e5acacb90720dcb7ee5aca8a8cedeb471f3a08bb5db31f11d6b74234f4
4
+ data.tar.gz: 68f6052ae5f497297c5ad445435b6821f87a1ca383fc2e68b1f1883b28e63492
5
5
  SHA512:
6
- metadata.gz: d03b823421b4538dd8708a09dd164b4a1bb70b52ee88889982215ee6e50c9553c01b11baf55a11bd90c7aa984eb92d70c2df44d01b4062a3b251d3faf79f37ae
7
- data.tar.gz: ddfc1b8a43ac36068227966da42be4ca44d4439aa0bf51d50d701730a9263a2fc7741db898b65911d2d844706a6b29154182157ffb2ddb0db9e7d52740af10b7
6
+ metadata.gz: 843e5ce4e47a9465c8dda7c9279f727783d7e6bec955ba3a44bfd2d5447295df51df2b1ea6422b4f9c2b87b4026e4522426ba71a4b8949ea08ef4f5887107b58
7
+ data.tar.gz: cefe3d6f93a9f12ba4ebc756aa40f91cf249a449fa8d249b3de1833b5d03a566a570e7e19e5e32097fb7b576d25810bf702f4b0b5d97e6812e0a595ae26b04eb
@@ -1,3 +1,3 @@
1
1
  module Techinform
2
- VERSION = "1.4.5"
2
+ VERSION = "1.4.6"
3
3
  end
data/lib/techinform.rb CHANGED
@@ -6,7 +6,7 @@ require 'thor'
6
6
  module Techinform
7
7
  class CLI < Thor
8
8
  desc 'restore [type] [absolute_filename or database to select file] [dbname]', 'Restore database from backup; if no absolute filename given, will present select menu to choose file'
9
- def restore(type, filename, dbname)
9
+ def restore(type, filename, dbname, just_decrypt = false)
10
10
  require 'highline'
11
11
  if !File.exist?(filename)
12
12
  cli = HighLine.new
@@ -16,14 +16,18 @@ module Techinform
16
16
  encrypted = filename.split('.').last == 'gpg'
17
17
  if type == 'pg'
18
18
  puts "Restoring postgres backup to database #{dbname}..."
19
- if encrypted
19
+ if encrypted && just_decrypt
20
+ `gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
21
+ elsif encrypted
20
22
  `gpg2 --decrypt #{filename} | pv --wait | psql #{dbname} > /dev/null`
21
23
  else
22
24
  `tar -xOf #{filename} | bunzip2 | pv | psql #{dbname} > /dev/null`
23
25
  end
24
26
  else
25
27
  puts "Restoring mysql backup to database #{dbname}..."
26
- if encrypted
28
+ if encrypted && just_decrypt
29
+ `gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
30
+ elsif encrypted
27
31
  `gpg2 --decrypt #{filename} | pv --wait | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
28
32
  else
29
33
  `tar -xOf #{filename} | bunzip2 | pv | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
@@ -31,6 +35,11 @@ module Techinform
31
35
  end
32
36
  end
33
37
 
38
+ desc 'decrypt [type] [absolute_filename or database to select file]', 'Decrypt file from backup; if no absolute filename given, will present select menu to choose file'
39
+ def decrypt(type, filename)
40
+ restore(type, filename, nil, true)
41
+ end
42
+
34
43
  desc 'deploy [project]', 'Deploy specific project'
35
44
  def deploy(project)
36
45
  `cd ~/projects/#{project} && git pull origin master && bundle install && cap production deploy`
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: techinform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.5
4
+ version: 1.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Chernikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-23 00:00:00.000000000 Z
11
+ date: 2019-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor