rails-response-dumper 5.2.0 → 5.3.0

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: 06cd448e735f58a98621946c8469f104ed6d732a12d7434e5e35a702b95f30f0
4
- data.tar.gz: e77dcfbeca89d6f0379a4e52e31fea8bd6229eb83546dabff2af014810c7be34
3
+ metadata.gz: 83121f82eb5299087a5a7f51a1a1950767b0ae34e893f5c48005bb288950f634
4
+ data.tar.gz: d42cca1ffad83f7df8ffdda62f2b4d2610d98caa21ef96c2cfa52443a47d8386
5
5
  SHA512:
6
- metadata.gz: fb2761d033cb2ddf080f79417139b6515e5586e41511e0c030dd346577f7df41bb80281cfc837683f9cdf2c5f24ac4c4fa30b818ce3d5e83dc9fae2ae057d350
7
- data.tar.gz: 3534eb64a93627900862d6bd9d58b878b865b7d384b42b56f140301840aa72134d120c66a84c6a7d355a5d831bc9471a3c99eabea086681a4bee49e176f3ffff
6
+ metadata.gz: 3b4183a48c0ad2d313565a10bfcd995bc6b8325ef1f979771c32958ef79515d73586c1bfdfd7cca1d735abbd185ce0ec8f2031bf0d5e7aac585be1ef4b45b91d
7
+ data.tar.gz: cecaddd1391cd0fcbb9560cf251b61769e3ca94a31b45f51d18cd2c4df30e3c73de4fc9b6fac4f0bbb3325df261447e437b35370f43bab0423f709b589a19635
@@ -10,6 +10,14 @@ module RailsResponseDumper
10
10
  opts.on('--fail-fast', 'Abort the run after first failure.') do |v|
11
11
  options[:fail_fast] = v
12
12
  end
13
+
14
+ opts.on('--verbose', 'Output dumper and dump block names.') do |v|
15
+ options[:verbose] = v
16
+ end
17
+
18
+ opts.on('--order TYPE', 'Run dumps by the specified order type.') do |v|
19
+ options[:order] = v
20
+ end
13
21
  end.parse!
14
22
 
15
23
  options.freeze
@@ -20,8 +20,31 @@ module RailsResponseDumper
20
20
 
21
21
  errors = []
22
22
 
23
- RailsResponseDumper::Defined.dumpers.each do |defined|
24
- defined.blocks.each do |dump_block|
23
+ dumper_blocks = RailsResponseDumper::Defined.dumpers.flat_map do |defined|
24
+ defined.blocks.map do |dump_block|
25
+ [defined, dump_block]
26
+ end
27
+ end
28
+
29
+ if options[:order].present?
30
+ seed = if options[:order] == 'random'
31
+ Random.new_seed
32
+ else
33
+ Integer(options[:order])
34
+ end
35
+
36
+ puts "Randomized with seed #{seed}"
37
+
38
+ random = Random.new(seed)
39
+ dumper_blocks.shuffle!(random: random)
40
+ end
41
+
42
+ catch :fail_fast do
43
+ dumper_blocks.each do |(defined, dump_block)|
44
+ name = "#{defined.name}.#{dump_block.name}"
45
+
46
+ print "#{name} " if options[:verbose]
47
+
25
48
  defined.reset_models!
26
49
  dumper = defined.klass.new
27
50
  dumper.mock_setup
@@ -75,16 +98,18 @@ module RailsResponseDumper
75
98
  end
76
99
 
77
100
  RailsResponseDumper.print_color('.', :green)
101
+ print("\n") if options[:verbose]
78
102
  rescue StandardError => e
79
103
  errors << {
80
104
  dumper_location: dump_block.block.source_location.join(':'),
81
- name: "#{defined.name}.#{dump_block.name}",
105
+ name: name,
82
106
  exception: e
83
107
  }
84
108
 
85
109
  RailsResponseDumper.print_color('F', :red)
110
+ print("\n") if options[:verbose]
86
111
 
87
- break if options[:fail_fast]
112
+ throw :fail_fast if options[:fail_fast]
88
113
  end
89
114
  end
90
115
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-response-dumper
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pioneer Valley Books
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-24 00:00:00.000000000 Z
11
+ date: 2023-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails