riserva 0.1.1 → 0.1.2

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
  SHA1:
3
- metadata.gz: faf79afd7482e3773737e037156a7f2c052e226e
4
- data.tar.gz: e3f1545fa479b620376a1b792666b658a5d4ca0d
3
+ metadata.gz: db30408186529f3b54b2351fcfda5f20474f78a3
4
+ data.tar.gz: da8cc2d981e0ea05801ad07a9fa42eae79a50e4b
5
5
  SHA512:
6
- metadata.gz: '058c49d68ed8537c32780ac717ad1ddd5467bc01731bc9eb814ca2b1a5c8b152201cf3e8cc1863555179935285c703f55bf3b64b8686ed1c049b09f91ff3e679'
7
- data.tar.gz: 1ede9f0713f97c9215f73bd6983e35a36f6f83216b0a4b9aa2e8fda484765f958cd106fd67458f5738444525fafc3a906e82d4af98fa1c94110b2c4cd6269d05
6
+ metadata.gz: 818540fa6bb016d026122b544387c60d2060e52f598d5488735fb2fe88a75d2726fbd5aabf6141635323c1d9251727eee1a21335f7a16d0b153a567321b68288
7
+ data.tar.gz: de7b3add993e1329095c3b39eadb3c220c0f632d4d945a6981fe82449fb8a91e916642080958bbad5440fc902f63b24b60aa1a65a5f72718231958872e07c9d2
data/README.md CHANGED
@@ -69,6 +69,10 @@ folders:
69
69
  - '/home/user/some_important_folder_2'
70
70
  - '/home/user/some_important_folder_3'
71
71
 
72
+ # Log settings
73
+ log:
74
+ filename: '/home/user/.riserva/riserva.log'
75
+
72
76
  # Storage configuration. Multiple storage providers supported simultaneously.
73
77
  storage:
74
78
  google_drive:
data/TODO.md CHANGED
@@ -1,6 +1,5 @@
1
1
  ## TODO
2
2
 
3
- * log
4
3
  * delete old files
5
4
  * restore from backup
6
5
  * create archives in `/tmp` folder if location is not specified
data/bin/riserva CHANGED
@@ -17,4 +17,10 @@ class RiservaExecutable
17
17
  end
18
18
 
19
19
  riserva = RiservaExecutable.new
20
- riserva.call
20
+
21
+ begin
22
+ riserva.call
23
+ rescue StandardError => error
24
+ Riserva.logger.fatal(error.message)
25
+ Riserva.logger.debug(error.backtrace.join("\n"))
26
+ end
data/lib/riserva.rb CHANGED
@@ -6,6 +6,7 @@ require 'pathname'
6
6
 
7
7
  module Riserva
8
8
  autoload :Config, 'riserva/config'
9
+ autoload :Log, 'riserva/log'
9
10
 
10
11
  module Commands
11
12
  autoload :ApplicationCommand, 'riserva/commands/application_command'
@@ -26,4 +27,8 @@ module Riserva
26
27
  autoload :Dropbox, 'riserva/storage/dropbox'
27
28
  autoload :GoogleDrive, 'riserva/storage/google_drive'
28
29
  end
30
+
31
+ def self.logger
32
+ Riserva::Log.new.logger
33
+ end
29
34
  end
@@ -35,6 +35,8 @@ module Riserva::Commands
35
35
  end
36
36
 
37
37
  def upload_file(storage, file)
38
+ Riserva.logger.info("Uploading file #{file} to #{storage.title}...")
39
+
38
40
  uploader(storage).call(file)
39
41
  end
40
42
 
@@ -10,6 +10,18 @@ module Riserva::Listeners
10
10
 
11
11
  def ok(file)
12
12
  @files << Pathname.new(file)
13
+
14
+ Riserva.logger.info(progname) { "OK: #{file}" }
15
+ end
16
+
17
+ def failed
18
+ Riserva.logger.error(progname) { 'Failed' }
19
+ end
20
+
21
+ protected
22
+
23
+ def progname
24
+ self.class.name.split('::').last
13
25
  end
14
26
  end
15
27
  end
@@ -6,6 +6,7 @@ module Riserva::Listeners
6
6
  class Backup < ApplicationListener
7
7
  def initialize
8
8
  notify('Starting backup...')
9
+ Riserva.logger.info('Starting backup...')
9
10
  end
10
11
 
11
12
  def ok
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+
5
+ module Riserva
6
+ class Log
7
+ attr_reader :logger
8
+
9
+ def initialize
10
+ @logger = Logger.new(
11
+ Riserva::Config.read('log.filename') || STDOUT,
12
+ Riserva::Config.read('log.files_to_keep') || 1,
13
+ Riserva::Config.read('log.size') || 100 * 1024
14
+ )
15
+
16
+ @logger.datetime_format = datetime_format
17
+ @logger.formatter = formatter
18
+ end
19
+
20
+ private
21
+
22
+ def formatter
23
+ proc do |severity, datetime, progname, msg|
24
+ "[#{datetime}] #{severity} -- #{progname}: #{msg}\n"
25
+ end
26
+ end
27
+
28
+ def datetime_format
29
+ Riserva::Config.read('log.datetime_format') || '%Y-%m-%d %H:%M:%S %Z'
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module Riserva
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
data/riserva.gemspec CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # coding: utf-8
3
2
 
4
3
  lib = File.expand_path('../lib', __FILE__)
5
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
@@ -28,12 +27,12 @@ Gem::Specification.new do |spec|
28
27
  spec.add_development_dependency 'guard-rspec', '~> 4.7', '>= 4.7.3'
29
28
  spec.add_development_dependency 'wisper-rspec', '~> 0.0.3'
30
29
 
31
- spec.add_dependency 'activesupport', '~> 4.0'
32
- spec.add_dependency 'choice', '~> 0.2.0'
33
- spec.add_dependency 'dropbox_api', '~> 0.1.7'
34
- spec.add_dependency 'dropbox_content_hasher', '~> 0.1.0'
35
- spec.add_dependency 'google_drive', '~> 2.1', '>= 2.1.5'
36
- spec.add_dependency 'notifier', '~> 0.5.2'
37
- spec.add_dependency 'safe_yaml', '~> 1.0', '>= 1.0.4'
38
- spec.add_dependency 'wisper', '~> 2.0'
30
+ spec.add_runtime_dependency 'activesupport', '~> 4.0'
31
+ spec.add_runtime_dependency 'choice', '~> 0.2.0'
32
+ spec.add_runtime_dependency 'dropbox_api', '~> 0.1.7'
33
+ spec.add_runtime_dependency 'dropbox_content_hasher', '~> 0.1.0'
34
+ spec.add_runtime_dependency 'google_drive', '~> 2.1', '>= 2.1.5'
35
+ spec.add_runtime_dependency 'notifier', '~> 0.5.2'
36
+ spec.add_runtime_dependency 'safe_yaml', '~> 1.0', '>= 1.0.4'
37
+ spec.add_runtime_dependency 'wisper', '~> 2.0'
39
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riserva
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Malinovskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -245,6 +245,7 @@ files:
245
245
  - lib/riserva/listeners/backup.rb
246
246
  - lib/riserva/listeners/create_archive.rb
247
247
  - lib/riserva/listeners/upload_file.rb
248
+ - lib/riserva/log.rb
248
249
  - lib/riserva/storage/application_storage.rb
249
250
  - lib/riserva/storage/dropbox.rb
250
251
  - lib/riserva/storage/google_drive.rb
@@ -270,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
271
  version: '0'
271
272
  requirements: []
272
273
  rubyforge_project:
273
- rubygems_version: 2.5.2
274
+ rubygems_version: 2.6.14.1
274
275
  signing_key:
275
276
  specification_version: 4
276
277
  summary: Backup files to cloud drive