eac_rails_gem_support 0.4.1 → 0.6.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/eac_rails_gem_support/factory_bot/instance_registry.rb +40 -0
- data/lib/eac_rails_gem_support/rspec/appendable_rails_app.rb +1 -1
- data/lib/eac_rails_gem_support/rspec/minitest_support.rb +42 -0
- data/lib/eac_rails_gem_support/rspec/setup/factory_bot.rb +9 -0
- data/lib/eac_rails_gem_support/rspec/setup.rb +9 -3
- data/lib/eac_rails_gem_support/version.rb +1 -1
- metadata +46 -28
- data/lib/eac_rails_gem_support/patches/object/template.rb +0 -6
- data/lib/eac_rails_gem_support/patches/object.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d285679a888e05aa97fb48708eb226ea50c113a99ad4e18b394be4f1c28bc41
|
4
|
+
data.tar.gz: 7a58f04b0049e2ce31abb0a9bd4d3cfb12ea9416197aae33cc9881a454eeb06e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8800c2b55b5310b90116679ef19525309dbb7eeee653c647260d2ee921f99022d7c412d76f25fa7135951f981017b432ea8531608a7f00c12baedca69cbc5874
|
7
|
+
data.tar.gz: b4d526791901f0d834749aac2db43f391ffd6404a3ef72b37adebfae7d7e9a59a88274db6bb4ee6e82d5344c4058adca076f29ac5a43187a1ab39e7359e70744
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module EacRailsGemSupport
|
6
|
+
module FactoryBot
|
7
|
+
class InstanceRegistry
|
8
|
+
class << self
|
9
|
+
def default
|
10
|
+
@default ||= ::EacRailsGemSupport::FactoryBot::InstanceRegistry.new
|
11
|
+
end
|
12
|
+
|
13
|
+
delegate :fetch, :reset, to: :default
|
14
|
+
|
15
|
+
def sanitize_key(key)
|
16
|
+
key.to_sym
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def fetch(key)
|
21
|
+
key = self.class.sanitize_key(key)
|
22
|
+
if fetched.key?(key)
|
23
|
+
fetched.fetch(key)
|
24
|
+
else
|
25
|
+
fetched[key] = ::FactoryBot.create(key)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def reset
|
30
|
+
@fetched = nil
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def fetched
|
36
|
+
@fetched ||= {}
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EacRailsGemSupport
|
4
|
+
module Rspec
|
5
|
+
module MinitestSupport
|
6
|
+
def assert_difference(code, message = nil, compare_method = :not_to, &block)
|
7
|
+
before_value = assert_difference_call(code)
|
8
|
+
block.call
|
9
|
+
after_value = assert_difference_call(code)
|
10
|
+
expect(after_value).send(compare_method, eq(before_value), message)
|
11
|
+
end
|
12
|
+
|
13
|
+
def assert_no_difference(code, message = nil, &block)
|
14
|
+
assert_difference(code, message, :to, &block)
|
15
|
+
end
|
16
|
+
|
17
|
+
def assert_equal(expected_value, actual_value, message = nil)
|
18
|
+
expect(actual_value).to eq(expected_value), message
|
19
|
+
end
|
20
|
+
|
21
|
+
def assert_not(expected_value, message = nil)
|
22
|
+
expect(expected_value).to be_falsy, message
|
23
|
+
end
|
24
|
+
|
25
|
+
def assert_not_equal(expected_value, actual_value, message = nil)
|
26
|
+
expect(actual_value).not_to eq(expected_value), message
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def assert_difference_call(code)
|
32
|
+
if code.is_a?(::Proc)
|
33
|
+
code.call
|
34
|
+
elsif code.is_a?(::String)
|
35
|
+
eval(code) # rubocop:disable Security/Eval
|
36
|
+
else
|
37
|
+
raise "Unmapped type for \"#{code}\""
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'eac_rails_gem_support/factory_bot/instance_registry'
|
4
5
|
|
5
6
|
module EacRailsGemSupport
|
6
7
|
module Rspec
|
@@ -10,6 +11,14 @@ module EacRailsGemSupport
|
|
10
11
|
require 'factory_bot_rails'
|
11
12
|
rspec_config.include ::FactoryBot::Syntax::Methods
|
12
13
|
Spring.after_fork { ::FactoryBot.reload } if defined?(Spring)
|
14
|
+
rspec_config.include HelpMethods
|
15
|
+
rspec_config.after { ::EacRailsGemSupport::FactoryBot::InstanceRegistry.reset }
|
16
|
+
end
|
17
|
+
|
18
|
+
module HelpMethods
|
19
|
+
def factory_bot_fetch(key)
|
20
|
+
::EacRailsGemSupport::FactoryBot::InstanceRegistry.fetch(key)
|
21
|
+
end
|
13
22
|
end
|
14
23
|
end
|
15
24
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_rails_gem_support/rspec/minitest_support'
|
3
4
|
require 'eac_ruby_utils/core_ext'
|
4
5
|
|
5
6
|
module EacRailsGemSupport
|
@@ -9,13 +10,18 @@ module EacRailsGemSupport
|
|
9
10
|
require_sub __FILE__, include_modules: true
|
10
11
|
|
11
12
|
def self.extended(obj)
|
13
|
+
obj.setup_minitest_support
|
12
14
|
obj.singleton_class.include(::EacRubyUtils::SimpleCache)
|
13
15
|
obj.setup_rails_env
|
14
16
|
return unless obj.setup_rails_app
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
%w[fixtures capybara factory_bot].each do |item|
|
19
|
+
obj.send("setup_#{item}")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def setup_minitest_support
|
24
|
+
rspec_config.include ::EacRailsGemSupport::Rspec::MinitestSupport
|
19
25
|
end
|
20
26
|
end
|
21
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_rails_gem_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm-eac_ruby_base1
|
@@ -16,33 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.21'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.21'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: capybara
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.37'
|
31
34
|
- - ">="
|
32
35
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
36
|
+
version: 3.37.1
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.37'
|
38
44
|
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
46
|
+
version: 3.37.1
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: eac_ruby_gem_support
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.5'
|
54
|
+
- - ">="
|
46
55
|
- !ruby/object:Gem::Version
|
47
56
|
version: 0.5.1
|
48
57
|
type: :runtime
|
@@ -50,6 +59,9 @@ dependencies:
|
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
51
60
|
requirements:
|
52
61
|
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0.5'
|
64
|
+
- - ">="
|
53
65
|
- !ruby/object:Gem::Version
|
54
66
|
version: 0.5.1
|
55
67
|
- !ruby/object:Gem::Dependency
|
@@ -58,20 +70,14 @@ dependencies:
|
|
58
70
|
requirements:
|
59
71
|
- - "~>"
|
60
72
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: 0.95.1
|
73
|
+
version: '0.104'
|
65
74
|
type: :runtime
|
66
75
|
prerelease: false
|
67
76
|
version_requirements: !ruby/object:Gem::Requirement
|
68
77
|
requirements:
|
69
78
|
- - "~>"
|
70
79
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 0.95.1
|
80
|
+
version: '0.104'
|
75
81
|
- !ruby/object:Gem::Dependency
|
76
82
|
name: eac_templates
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,7 +87,7 @@ dependencies:
|
|
81
87
|
version: '0.3'
|
82
88
|
- - ">="
|
83
89
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.3.
|
90
|
+
version: 0.3.2
|
85
91
|
type: :runtime
|
86
92
|
prerelease: false
|
87
93
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -91,21 +97,21 @@ dependencies:
|
|
91
97
|
version: '0.3'
|
92
98
|
- - ">="
|
93
99
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.3.
|
100
|
+
version: 0.3.2
|
95
101
|
- !ruby/object:Gem::Dependency
|
96
102
|
name: factory_bot_rails
|
97
103
|
requirement: !ruby/object:Gem::Requirement
|
98
104
|
requirements:
|
99
|
-
- - "
|
105
|
+
- - "~>"
|
100
106
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
107
|
+
version: '6.2'
|
102
108
|
type: :runtime
|
103
109
|
prerelease: false
|
104
110
|
version_requirements: !ruby/object:Gem::Requirement
|
105
111
|
requirements:
|
106
|
-
- - "
|
112
|
+
- - "~>"
|
107
113
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
114
|
+
version: '6.2'
|
109
115
|
- !ruby/object:Gem::Dependency
|
110
116
|
name: rails
|
111
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,6 +119,9 @@ dependencies:
|
|
113
119
|
- - "~>"
|
114
120
|
- !ruby/object:Gem::Version
|
115
121
|
version: 5.2.8
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 5.2.8.1
|
116
125
|
type: :runtime
|
117
126
|
prerelease: false
|
118
127
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -120,34 +129,43 @@ dependencies:
|
|
120
129
|
- - "~>"
|
121
130
|
- !ruby/object:Gem::Version
|
122
131
|
version: 5.2.8
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 5.2.8.1
|
123
135
|
- !ruby/object:Gem::Dependency
|
124
136
|
name: rspec-rails
|
125
137
|
requirement: !ruby/object:Gem::Requirement
|
126
138
|
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '5.1'
|
127
142
|
- - ">="
|
128
143
|
- !ruby/object:Gem::Version
|
129
|
-
version:
|
144
|
+
version: 5.1.2
|
130
145
|
type: :runtime
|
131
146
|
prerelease: false
|
132
147
|
version_requirements: !ruby/object:Gem::Requirement
|
133
148
|
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '5.1'
|
134
152
|
- - ">="
|
135
153
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
154
|
+
version: 5.1.2
|
137
155
|
- !ruby/object:Gem::Dependency
|
138
156
|
name: sqlite3
|
139
157
|
requirement: !ruby/object:Gem::Requirement
|
140
158
|
requirements:
|
141
|
-
- - "
|
159
|
+
- - "~>"
|
142
160
|
- !ruby/object:Gem::Version
|
143
|
-
version: '
|
161
|
+
version: '1.5'
|
144
162
|
type: :runtime
|
145
163
|
prerelease: false
|
146
164
|
version_requirements: !ruby/object:Gem::Requirement
|
147
165
|
requirements:
|
148
|
-
- - "
|
166
|
+
- - "~>"
|
149
167
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
168
|
+
version: '1.5'
|
151
169
|
description:
|
152
170
|
email:
|
153
171
|
executables: []
|
@@ -155,10 +173,10 @@ extensions: []
|
|
155
173
|
extra_rdoc_files: []
|
156
174
|
files:
|
157
175
|
- lib/eac_rails_gem_support.rb
|
158
|
-
- lib/eac_rails_gem_support/
|
159
|
-
- lib/eac_rails_gem_support/patches/object/template.rb
|
176
|
+
- lib/eac_rails_gem_support/factory_bot/instance_registry.rb
|
160
177
|
- lib/eac_rails_gem_support/rspec.rb
|
161
178
|
- lib/eac_rails_gem_support/rspec/appendable_rails_app.rb
|
179
|
+
- lib/eac_rails_gem_support/rspec/minitest_support.rb
|
162
180
|
- lib/eac_rails_gem_support/rspec/setup.rb
|
163
181
|
- lib/eac_rails_gem_support/rspec/setup/capybara.rb
|
164
182
|
- lib/eac_rails_gem_support/rspec/setup/factory_bot.rb
|