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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2d27c9e93e9f57c4fbbda5273500380a91a06a3023131841d081faebd62f51c
4
- data.tar.gz: 62e24d1ea6d28f56920adcd043c3ec21ed0598389e3301f9be6b981a00c3a813
3
+ metadata.gz: 2d285679a888e05aa97fb48708eb226ea50c113a99ad4e18b394be4f1c28bc41
4
+ data.tar.gz: 7a58f04b0049e2ce31abb0a9bd4d3cfb12ea9416197aae33cc9881a454eeb06e
5
5
  SHA512:
6
- metadata.gz: e1e0d339d245a463eaa995179b230333e4c5097abbe1f9e50764649155c45f9e744ee4edfda1ff1d3a5d07c0b74c21dbed6f786f821a7ca6d68904548b35af16
7
- data.tar.gz: 6a7c4fcd80333110416a5e1767aac16fc9b037ca2270d6f8d7f49be94d8890927cf1239ccf5c31cafc84d1a74b2f290e8d4d69f9937f5731c203e2863f1721bd
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
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_rails_gem_support/patches/object/template'
4
3
  require 'avm/eac_ruby_base1/sources/base'
5
4
  require 'eac_ruby_utils/core_ext'
5
+ require 'eac_templates/core_ext'
6
6
  require 'fileutils'
7
7
 
8
8
  module EacRailsGemSupport
@@ -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
- obj.setup_fixtures
17
- obj.setup_capybara
18
- obj.setup_factory_bot
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsGemSupport
4
- VERSION = '0.4.1'
4
+ VERSION = '0.6.0'
5
5
  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.1
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-07-05 00:00:00.000000000 Z
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.8'
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.8'
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: '0'
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: '0'
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.95'
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.95'
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.1
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.1
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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/patches/object.rb
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
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/patches/object/template'
4
-
5
- ::EacTemplates::Searcher.default.included_paths <<
6
- ::File.expand_path('../../../../template', __dir__)
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- require_sub __FILE__