techinform 1.4.5 → 1.4.6

Sign up to get free protection for your applications and to get access to all the features.
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