database_consistency 0.6.2 → 0.6.3

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: 9ae2cb1a76d89dbac104f5d4d387a05836a9f981b7054ccd2bb5471c1bf2c882
4
- data.tar.gz: 808873b1f9a282b55a05598a1ce370523fe8a5a72b548403d32ddfb34aef450a
3
+ metadata.gz: 5838553640c9936a64b3b4d57cf07a8f906ad2898a08cfa9e35dd335601c55fa
4
+ data.tar.gz: e7bcff327c307641b5841a569e89595f3df09dcc1291c1626ec4defb8f529143
5
5
  SHA512:
6
- metadata.gz: b492cba390027b08c54c41d12bf6016719b974686641c72a87646444d32b4bbc5a54005da096223834aaaaf64a0683946d5ee46dbebe244ed746458b477ac5d8
7
- data.tar.gz: 0cb489b28fd0b7760396fa09916d0647c4033245c7184a9f7f7d5683dc39a38f0d01aa01fadb241e3b4fa86db1c62055dfd20f3474239f9e454833d67fa797f0
6
+ metadata.gz: e585ce47867455350dc2e23cb6316318272171ba2cf43ff24b3e83e80263bba515aafc66209d982ab7bc857831613850608cd3305ce4ceb37412450c5a27b084
7
+ data.tar.gz: 707be00b640e0f1c95ca7f6a192edb684513c6fd872ad0efbf58e869754dfc12d1e6471dc54bc81e7bce6c5174473f4529896cfcf7949b66c5a3593e6aef7884
@@ -5,6 +5,7 @@ require 'active_record'
5
5
  require 'database_consistency/version'
6
6
  require 'database_consistency/helper'
7
7
  require 'database_consistency/configuration'
8
+ require 'database_consistency/rescue_error'
8
9
 
9
10
  require 'database_consistency/writers/base_writer'
10
11
  require 'database_consistency/writers/simple_writer'
@@ -29,6 +30,7 @@ require 'database_consistency/processors/columns_processor'
29
30
  module DatabaseConsistency
30
31
  class << self
31
32
  def run
33
+ Helper.welcome_message!
32
34
  Helper.load_environment!
33
35
 
34
36
  configuration = Configuration.new
@@ -21,6 +21,8 @@ module DatabaseConsistency
21
21
  return unless preconditions
22
22
 
23
23
  @report ||= check
24
+ rescue StandardError => error
25
+ RescueError.call(error)
24
26
  end
25
27
 
26
28
  # @return [Hash, nil]
@@ -5,6 +5,11 @@ module DatabaseConsistency
5
5
  module Helper
6
6
  module_function
7
7
 
8
+ def welcome_message!
9
+ puts 'Thank you for using the gem. Any contribution is welcome https://github.com/djezzzl/database_consistency!'
10
+ puts '(c) Evgeniy Demin <lawliet.djez@gmail.com>'
11
+ end
12
+
8
13
  # Returns list of models to check
9
14
  def models
10
15
  ActiveRecord::Base.descendants.delete_if(&:abstract_class?)
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DatabaseConsistency
4
+ # The class writes error to the file
5
+ class RescueError
6
+ attr_reader :error
7
+
8
+ private_class_method :new
9
+
10
+ def self.call(error)
11
+ @singleton ||= new
12
+ @singleton.call(error)
13
+ end
14
+
15
+ def initialize
16
+ puts 'Hey, some of checks fail with an error, please open an issue on github at https://github.com/djezzzl/database_consistency.'
17
+ puts "Attach the created file: #{filename}"
18
+ puts 'Thank you, for your contribution!'
19
+ puts '(c) Evgeniy Demin <lawliet.djez@gmail.com>'
20
+ end
21
+
22
+ def call(error)
23
+ File.open(filename, 'a') do |file|
24
+ file.puts('<===begin===>')
25
+ file.puts(error.full_message)
26
+ file.puts('<===end===>')
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def filename
33
+ "database_consistency_#{Time.now.strftime('%Y_%m_%d_%H_%M_%S')}"
34
+ end
35
+ end
36
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DatabaseConsistency
4
- VERSION = '0.6.2'
4
+ VERSION = '0.6.3'
5
5
  end
@@ -6,7 +6,7 @@ module DatabaseConsistency
6
6
  # The simplest formatter
7
7
  class SimpleWriter < BaseWriter
8
8
  def write
9
- puts format
9
+ puts format unless format.empty?
10
10
  end
11
11
 
12
12
  def format
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: database_consistency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evgeniy Demin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-26 00:00:00.000000000 Z
11
+ date: 2019-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -153,6 +153,7 @@ files:
153
153
  - lib/database_consistency/processors/base_processor.rb
154
154
  - lib/database_consistency/processors/columns_processor.rb
155
155
  - lib/database_consistency/processors/validators_processor.rb
156
+ - lib/database_consistency/rescue_error.rb
156
157
  - lib/database_consistency/version.rb
157
158
  - lib/database_consistency/writers/base_writer.rb
158
159
  - lib/database_consistency/writers/simple_writer.rb