dsl_compose 2.7.0 → 2.8.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: 9eca7fac101d871e9ce111652e859f93eee66b0c8997fd2d2334231f256b6ebd
4
- data.tar.gz: 3e858226842b60303d39af62eebc95208ac72b4839f816da45e8d678a078cfbc
3
+ metadata.gz: c6fea0a926ea88fad5e75633a95629a75105580958b512baae3362c47aa2384c
4
+ data.tar.gz: '03486a86365c848b0815d768eb7de00478bebeb8b87d9412a4b06db67857ebcd'
5
5
  SHA512:
6
- metadata.gz: c779883cc3eb12be2dbb13ed79cda45dff848501be4d23b283dfd1d4de6a59f3ab5301def52b7947e1d03f22671080bae84e290cf05ff7d92432892d97917365
7
- data.tar.gz: 9e14efabd12ee806787bceffa742007ae6f8d631e87f02856357418458c4d707e8702ca2eabbb8a332f1a60aadcfe73cf641fd5eef811c13ad2dfc231e76269f
6
+ metadata.gz: 550d159aca95511d2409fb085ba865f9230ac67fb29ddece4e2f7bbfcf054033e8ce598d6f2ff00d088c27a266c14fdaf1f4405808a6a99fe7ed6888bfeef6a8
7
+ data.tar.gz: 69c5444f0064dbe31a3da9be2a0712fc419758d3ca661ecf70a22429e80d4581e451a1840a28a7fc2d44902b183d20dc9069036d0f062ad78465de6c58a86a4c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.8.0](https://github.com/craigulliott/dsl_compose/compare/v2.7.0...v2.8.0) (2023-08-31)
4
+
5
+
6
+ ### Features
7
+
8
+ * adding a rerun_all singleton method to re-execute all parsers in the system (useful from within specs) ([d0c4ee3](https://github.com/craigulliott/dsl_compose/commit/d0c4ee3cc41da45e774a17ab9d57990dbbf59603))
9
+
3
10
  ## [2.7.0](https://github.com/craigulliott/dsl_compose/compare/v2.6.1...v2.7.0) (2023-08-29)
4
11
 
5
12
 
@@ -32,12 +32,17 @@ module DSLCompose
32
32
  # children of their own)
33
33
  def self.for_children_of base_class, final_children_only: false, rerun: false, &block
34
34
  unless rerun
35
- @runs ||= []
36
- @runs << {
35
+ run = {
37
36
  base_class: base_class,
38
37
  final_children_only: final_children_only,
39
38
  block: block
40
39
  }
40
+
41
+ @@all_runs ||= []
42
+ @@all_runs << run
43
+
44
+ @runs ||= []
45
+ @runs << run
41
46
  end
42
47
 
43
48
  # we parse the provided block in the context of the ForChildrenOfParser class
@@ -56,7 +61,7 @@ module DSLCompose
56
61
  # this method is used to rerun the parser, this is most useful from within a test suite
57
62
  # when you are testing the parser itself
58
63
  def self.rerun
59
- # rerun each parset tests
64
+ # rerun each parser for this specific class
60
65
  @runs&.each do |run|
61
66
  base_class = run[:base_class]
62
67
  block = run[:block]
@@ -64,5 +69,17 @@ module DSLCompose
64
69
  for_children_of base_class, rerun: true, final_children_only: final_children_only, &block
65
70
  end
66
71
  end
72
+
73
+ # this method is used to rerun all of the parsers, this is most useful from within a test suite
74
+ # when you are testing the parser itself
75
+ def self.rerun_all
76
+ # rerun each parser for all classes (call this method directly on the parser object `DSLCompose::Parser.rerun_all`)
77
+ @all_runs&.each do |run|
78
+ base_class = run[:base_class]
79
+ block = run[:block]
80
+ final_children_only = run[:final_children_only]
81
+ for_children_of base_class, rerun: true, final_children_only: final_children_only, &block
82
+ end
83
+ end
67
84
  end
68
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DSLCompose
4
- VERSION = "2.7.0"
4
+ VERSION = "2.8.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dsl_compose
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Ulliott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-29 00:00:00.000000000 Z
11
+ date: 2023-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: class_spec_helper