factory_manager 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/factory_manager.rb +26 -2
  3. metadata +29 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 001756b2357e09a0b523eb4b788531cf5d0bf5bc5ebd3f0eb2776e1c0a865225
4
- data.tar.gz: f7a7190a1c5d732a17d1e9fadd0c1c3940e84bbc480eef4e4b8201e0e5e4d95b
3
+ metadata.gz: 2a7a830ad980935414db118342e1c77945720fed5a79107fa7df1d5fd35bdaf8
4
+ data.tar.gz: 929d179d7503a8cf375de83bce04f42e55d5f6dd535aee7d6e7370bb8a6add87
5
5
  SHA512:
6
- metadata.gz: 94f5d3f67f5243c3a79336edc072e15d489b1a96042ab42f81c4fc22a09950a2bd0e624824c69b0c2e45dcfdaadaf86292489cd37384236532ea01fdf8564887
7
- data.tar.gz: c697beeff0a385ed5f1ad556dc2bc98f213069bece4d07876f1c7e5572bd8fb60c9cb8c42b622895aa038ba48fc0a54ce9a9529bb9a0d836fb71a6bb8a9f7807
6
+ metadata.gz: 2d482da518c2f4dce0a8de864c19067a8c8902248d38bfa81efdc40e968a7456b95560c01efe2e02edaa900026da673e547efed9be2e0594b42121a55a0a5ae0
7
+ data.tar.gz: 429c3be656e385055be6cba5a6e90bc9d0ccaa339f42b80fab4fc704c248de8e466228496799cbef813b9f39c624180d0149e680e51fabe34697928097168941
@@ -6,8 +6,11 @@ module FactoryManager
6
6
 
7
7
  # Initializes and builds a new build generator.
8
8
  #
9
+ # @param [String|Symbol] name The name of the manager to build.
9
10
  # @yield Invokes the block to build the generator.
10
- def self.build(&block)
11
+ def self.build(name = nil, &block)
12
+ block ||= managers[name]
13
+
11
14
  Generator
12
15
  .new(strategy: :build)
13
16
  .generate(&block)
@@ -15,10 +18,31 @@ module FactoryManager
15
18
 
16
19
  # Initializes and creates a new create generator.
17
20
  #
21
+ # @param [String|Symbol] name The name of the manager to create.
18
22
  # @yield Invokes the block to create the generator.
19
- def self.create(&block)
23
+ def self.create(name = nil, &block)
24
+ block ||= managers[name]
25
+
20
26
  Generator
21
27
  .new(strategy: :create)
22
28
  .generate(&block)
23
29
  end
30
+
31
+ # Returns the registered managers.
32
+ #
33
+ # @return [Hash] The registered managers.
34
+ def self.managers
35
+ @managers ||= {}
36
+ end
37
+
38
+ # Register a manager to reuse later.
39
+ #
40
+ # @param [String|Symbol] name The name of the manager being registered.
41
+ def self.register(name, &block)
42
+ if managers.key?(name)
43
+ raise ArgumentError.new(%("#{name}" manager is already registered.))
44
+ end
45
+
46
+ managers[name] = block
47
+ end
24
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tristan Dunn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-16 00:00:00.000000000 Z
11
+ date: 2024-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: factory_bot
@@ -30,154 +30,154 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.0.3.1
33
+ version: 7.1.3.2
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 7.0.3.1
40
+ version: 7.1.3.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: appraisal
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 2.4.1
47
+ version: 2.5.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 2.4.1
54
+ version: 2.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 13.0.6
61
+ version: 13.1.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 13.0.6
68
+ version: 13.1.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 3.11.0
75
+ version: 3.13.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 3.11.0
82
+ version: 3.13.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.31.2
89
+ version: 1.62.1
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 1.31.2
96
+ version: 1.62.1
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop-performance
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 1.14.2
103
+ version: 1.21.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 1.14.2
110
+ version: 1.21.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: rubocop-rake
112
+ name: rubocop-rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.6.0
117
+ version: 2.24.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 0.6.0
124
+ version: 2.24.1
125
125
  - !ruby/object:Gem::Dependency
126
- name: rubocop-rspec
126
+ name: rubocop-rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 2.12.1
131
+ version: 0.6.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 2.12.1
138
+ version: 0.6.0
139
139
  - !ruby/object:Gem::Dependency
140
- name: simplecov-console
140
+ name: rubocop-rspec
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 0.9.1
145
+ version: 2.28.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 0.9.1
152
+ version: 2.28.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: sqlite3
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 1.4.4
159
+ version: 1.7.3
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 1.4.4
166
+ version: 1.7.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: yard
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
- version: 0.9.28
173
+ version: 0.9.36
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - '='
179
179
  - !ruby/object:Gem::Version
180
- version: 0.9.28
180
+ version: 0.9.36
181
181
  description: A factory manager of factory bots.
182
182
  email: hello@tristandunn.com
183
183
  executables: []
@@ -199,14 +199,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
199
  requirements:
200
200
  - - ">="
201
201
  - !ruby/object:Gem::Version
202
- version: '2.7'
202
+ version: '3.1'
203
203
  required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0'
208
208
  requirements: []
209
- rubygems_version: 3.3.7
209
+ rubygems_version: 3.5.3
210
210
  signing_key:
211
211
  specification_version: 4
212
212
  summary: A factory manager of factory bots.