active_mocker 2.2.1 → 2.2.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: 64d309a30e487afad4c2626da86f5d5a99d28837
4
- data.tar.gz: 583c4618977589f04cfb27a34b90edf1b73a4432
3
+ metadata.gz: 6e14ca018eff8f1c0f6c575322ae1cf79d48a3c9
4
+ data.tar.gz: 71fd81a8740ccd5d08a71186b096a1bef03a0b97
5
5
  SHA512:
6
- metadata.gz: 195803c199368d5b89d0122ee28d060853640a7a0dfeae93d9ec3bd074c79d1d99df8c7c33dc956c04fb72a68651b652d006c5ccccf91f4cd7b03320641d1f2b
7
- data.tar.gz: 89352aca6e35d772696bec48de7ffc334e8c367e2ec551da5b24066236e288cacfab23393c583a5bcb6022b8b35df52837f7576e1b2da658c4f9cd690c3f4b49
6
+ metadata.gz: 4c9e9c1b8bfd686ed562218d52f8324fd50f642ce29f105a61ea384745dcadf99d4764a18352771e1b387232d056186aba8b5bc62f5623078cba43ec86db7185
7
+ data.tar.gz: 217ec8087dedb24510a5ecd6e95b2b1e1da24853b830c922292fe8f74ccdafc7c23bde72a0e788e2dfa8c6e6c559d1c094540574f521e73f3f4500af614bc152
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ require "colorize"
2
3
  module ActiveMocker
3
4
  class DisplayErrors
4
5
  attr_reader :errors, :model_count, :out
@@ -28,43 +29,92 @@ module ActiveMocker
28
29
  @uniq_errors ||= errors.flatten.compact.uniq.sort_by(&:class_name)
29
30
  end
30
31
 
32
+ def any_errors?
33
+ uniq_errors.count > 0
34
+ end
35
+
31
36
  def display_errors
32
37
  uniq_errors.each do |e|
33
38
  next unless ENV["DEBUG"] || !(e.level == :debug)
34
- if ActiveMocker::Config.error_verbosity == 3
35
- out.puts "#{e.class_name} has the following errors:"
36
- out.puts e.message.colorize(e.level_color)
37
- out.puts e.level
38
- out.puts e.original_error.message.colorize(e.level_color) if e.original_error?
39
- out.puts e.original_error.backtrace if e.original_error?
40
- out.puts e.original_error.class.name.colorize(e.level_color) if e.original_error?
41
- elsif ActiveMocker::Config.error_verbosity == 2
42
- out.puts "#{e.class_name} has the following errors:"
43
- out.puts e.message.colorize(e.level_color)
44
- end
45
- end
46
- if ActiveMocker::Config.error_verbosity > 0 && uniq_errors.count > 0
47
- out.puts "Error Summary"
48
- error_summary
49
- end
50
- failure_count_message
51
- if ActiveMocker::Config.error_verbosity > 0 && uniq_errors.count > 0
52
- out.puts "To see more/less detail set error_verbosity = 0, 1, 2, 3"
39
+
40
+ display_verbosity_three(e) || display_verbosity_two(e)
53
41
  end
42
+
43
+ display_verbosity_one
54
44
  end
55
45
 
56
46
  def error_summary
57
- error_count = uniq_errors.count { |e| [:red].include?(e.level_color) }
58
- warn = uniq_errors.count { |e| [:yellow].include?(e.level_color) }
59
- info = uniq_errors.count { |e| [:default].include?(e.level_color) }
60
- out.puts "errors: #{error_count}, warn: #{warn}, info: #{info}"
61
- out.puts "Failed models: #{failed_models.join(", ")}" if failed_models.count > 0
47
+ display "Error Summary"
48
+ display "errors: #{error_count}, warn: #{warn}, info: #{info}"
49
+ display "Failed models: #{failed_models.join(", ")}" if failed_models.count > 0
62
50
  end
63
51
 
64
52
  def failure_count_message
65
- if ActiveMocker::Config.error_verbosity > 0 && (success_count < model_count || uniq_errors.count > 0)
66
- out.puts "#{model_count - success_count} mock(s) out of #{model_count} failed."
53
+ if success_count < model_count || any_errors?
54
+ display "#{model_count - success_count} mock(s) out of #{model_count} failed."
67
55
  end
68
56
  end
57
+
58
+ private
59
+
60
+ def display(msg)
61
+ out.puts(msg)
62
+ end
63
+
64
+ def display_verbosity_three(error)
65
+ return unless ActiveMocker::Config.error_verbosity == 3
66
+
67
+ display_error_header(error)
68
+ display error.level
69
+
70
+ display_original_error(error)
71
+ end
72
+
73
+ def display_original_error(e)
74
+ original = e.original_error
75
+ return unless original
76
+
77
+ display original.message.colorize(e.level_color)
78
+ display original.backtrace
79
+ display original.class.name.colorize(e.level_color)
80
+ end
81
+
82
+ def display_verbosity_two(e)
83
+ return unless ActiveMocker::Config.error_verbosity == 2
84
+
85
+ display_error_header(e)
86
+ end
87
+
88
+ def display_error_header(e)
89
+ display "#{e.class_name} has the following errors:"
90
+ display e.message.colorize(e.level_color)
91
+ end
92
+
93
+ def display_verbosity_one
94
+ return unless ActiveMocker::Config.error_verbosity > 0
95
+
96
+ error_summary if any_errors?
97
+
98
+ failure_count_message
99
+
100
+ return unless any_errors?
101
+ display "To see more/less detail set error_verbosity = 0, 1, 2, 3"
102
+ end
103
+
104
+ def error_count
105
+ errors_for(:red)
106
+ end
107
+
108
+ def warn
109
+ errors_for(:yellow)
110
+ end
111
+
112
+ def info
113
+ errors_for(:default)
114
+ end
115
+
116
+ def errors_for(level)
117
+ uniq_errors.count { |e| [level].include? e.level_color }
118
+ end
69
119
  end
70
120
  end
@@ -7,7 +7,7 @@ module ActiveMocker
7
7
  extend AliasAttribute
8
8
 
9
9
  def self.inherited(subclass)
10
- return ActiveMocker::LoadedMocks.send(:add, subclass) if subclass.superclass == Base
10
+ ActiveMocker::LoadedMocks.send(:add, subclass)
11
11
  end
12
12
 
13
13
  class << self
@@ -58,12 +58,10 @@ module ActiveMocker
58
58
  # Post.limit(100).delete_all
59
59
  # # => ActiveMocker::Error: delete_all doesn't support limit scope
60
60
  def delete_all(conditions = nil)
61
- raise ActiveMocker::Error.new("delete_all doesn't support limit scope") if from_limit?
62
- if conditions.nil?
63
- to_a.map(&:delete)
64
- return to_a.clear
65
- end
66
- where(conditions).map(&:delete).count
61
+ check_for_limit_scope!
62
+
63
+ collection = conditions.nil? ? to_a.each(&:delete).clear : where(conditions)
64
+ collection.map(&:delete).count
67
65
  end
68
66
 
69
67
  alias destroy_all delete_all
@@ -346,6 +344,10 @@ module ActiveMocker
346
344
 
347
345
  private
348
346
 
347
+ def check_for_limit_scope!
348
+ raise ActiveMocker::Error.new("delete_all doesn't support limit scope") if from_limit?
349
+ end
350
+
349
351
  def values_by_key(key)
350
352
  all.map { |obj| obj.send(key) }
351
353
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveMocker
3
- VERSION = "2.2.1"
3
+ VERSION = "2.2.2"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_mocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Zeisler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-03 00:00:00.000000000 Z
11
+ date: 2016-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport