rails-response-dumper 5.2.0 → 5.3.0

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: 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