factory_manager 0.2.0 → 0.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 +4 -4
- data/lib/factory_manager.rb +26 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 909ea336cb6277d25c8352f6fef4a82c9a722daf519b54c2d93b506d6b1846e1
|
4
|
+
data.tar.gz: f51e50a86af400882bb17534a9d94a2e57a27d58eb31afffa2ae68a5180b9454
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de5503f2a7a0699bdb468674c3757c7aa944d3463e572856acbe95bdad02eb7b29333e0f5195123f8943ad33b2272991c8bd1a07abd340e8c71b9e31704475f5
|
7
|
+
data.tar.gz: c8f025a085662da2b1f1b1289eab3200cb93328858920e16092ca85a03766276cc9004c8c365f40fb5c26a511c007a92ad1ccd71477100c34404f3cc243aa9cf
|
data/lib/factory_manager.rb
CHANGED
@@ -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.
|
4
|
+
version: 0.3.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-
|
11
|
+
date: 2022-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: factory_bot
|
@@ -86,28 +86,28 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.34.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.
|
96
|
+
version: 1.34.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.
|
103
|
+
version: 1.14.3
|
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.
|
110
|
+
version: 1.14.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rubocop-rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|