eac_rails_gem_support 0.4.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|