factory_bot_instrumentation 1.7.1 → 2.1.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/.github/workflows/release.yml +4 -4
- data/.github/workflows/test.yml +3 -3
- data/.rubocop.yml +2 -2
- data/Appraisals +12 -4
- data/CHANGELOG.md +11 -0
- data/Dockerfile +4 -4
- data/Gemfile +5 -5
- data/Makefile +1 -1
- data/doc/assets/project.svg +7 -68
- data/docker-compose.yml +0 -1
- data/factory_bot_instrumentation.gemspec +3 -3
- data/gemfiles/rails_7.1.gemfile +5 -5
- data/gemfiles/rails_7.2.gemfile +22 -0
- data/gemfiles/rails_8.0.gemfile +22 -0
- data/gemfiles/rails_8.1.gemfile +22 -0
- data/lib/factory_bot/instrumentation/configuration.rb +40 -2
- data/lib/factory_bot/instrumentation/engine.rb +1 -1
- data/lib/factory_bot/instrumentation/version.rb +1 -1
- data/lib/factory_bot/instrumentation.rb +2 -1
- metadata +13 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22779b2ddcf2a843745a37630a9c9195cdee2ec476aba7ff9f384ba3479d8bc7
|
|
4
|
+
data.tar.gz: 0c8aafc7fe54a6bd757c2d35193fbe45ec184d7c3714048a800c54225cfbacf2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8c9b1fcbb5f85e3deb47cbbe308841e29ce06dd300ae0085e3728e6a68a3341d70aad86f7ca9efd563f5fa82469ed1ba422c6b3f5cbc86af238c66800d6602a0
|
|
7
|
+
data.tar.gz: fd1a95d7b69759f6e4f8b491948c2d688f45294909decde13b95b4625341445868cb40c6150b1e091dde8ed13ebabebf1557002eabd14752b3f5338ed59466a3
|
|
@@ -16,16 +16,16 @@ jobs:
|
|
|
16
16
|
docs:
|
|
17
17
|
name: Release the gem
|
|
18
18
|
runs-on: ubuntu-22.04
|
|
19
|
-
timeout-minutes:
|
|
19
|
+
timeout-minutes: 10
|
|
20
20
|
steps:
|
|
21
21
|
- uses: actions/checkout@v4
|
|
22
22
|
|
|
23
|
-
- name: Install Ruby 2
|
|
23
|
+
- name: Install Ruby 3.2
|
|
24
24
|
uses: ruby/setup-ruby@v1
|
|
25
25
|
with:
|
|
26
|
-
ruby-version: 2
|
|
26
|
+
ruby-version: 3.2
|
|
27
27
|
bundler-cache: true
|
|
28
|
-
rubygems: '3.
|
|
28
|
+
rubygems: '3.6.9'
|
|
29
29
|
|
|
30
30
|
- name: Prepare the virtual environment
|
|
31
31
|
uses: hausgold/actions/ci@master
|
data/.github/workflows/test.yml
CHANGED
|
@@ -18,8 +18,8 @@ jobs:
|
|
|
18
18
|
strategy:
|
|
19
19
|
fail-fast: false
|
|
20
20
|
matrix:
|
|
21
|
-
ruby: ['
|
|
22
|
-
rails: ['
|
|
21
|
+
ruby: ['3.2', '3.3', '3.4']
|
|
22
|
+
rails: ['7.1', '7.2', '8.0', '8.1']
|
|
23
23
|
env:
|
|
24
24
|
BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
|
|
25
25
|
steps:
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
with:
|
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
|
32
32
|
bundler-cache: true
|
|
33
|
-
rubygems: '3.
|
|
33
|
+
rubygems: '3.6.9'
|
|
34
34
|
|
|
35
35
|
- name: Prepare the virtual environment
|
|
36
36
|
uses: hausgold/actions/ci@master
|
data/.rubocop.yml
CHANGED
data/Appraisals
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
appraise 'rails-6.1' do
|
|
4
|
-
gem 'rails', '~> 6.1.0'
|
|
5
|
-
end
|
|
6
|
-
|
|
7
3
|
appraise 'rails-7.1' do
|
|
8
4
|
gem 'rails', '~> 7.1.0'
|
|
9
5
|
end
|
|
6
|
+
|
|
7
|
+
appraise 'rails-7.2' do
|
|
8
|
+
gem 'rails', '~> 7.2.0'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
appraise 'rails-8.0' do
|
|
12
|
+
gem 'rails', '~> 8.0.0'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
appraise 'rails-8.1' do
|
|
16
|
+
gem 'rails', '~> 8.1.0'
|
|
17
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
* TODO: Replace this bullet point with an actual description of a change.
|
|
4
4
|
|
|
5
|
+
### 2.1.0 (23 October 2025)
|
|
6
|
+
|
|
7
|
+
* Added support for Rails 8.1 ([#35](https://github.com/hausgold/factory_bot_instrumentation/pull/35))
|
|
8
|
+
* Switched from `ActiveSupport::Configurable` to a custom implementation based
|
|
9
|
+
on `ActiveSupport::OrderedOptions` ([#36](https://github.com/hausgold/factory_bot_instrumentation/pull/36))
|
|
10
|
+
|
|
11
|
+
### 2.0.0 (28 June 2025)
|
|
12
|
+
|
|
13
|
+
* Corrected some RuboCop glitches ([#33](https://github.com/hausgold/factory_bot_instrumentation/pull/33))
|
|
14
|
+
* Drop Ruby 2 and end of life Rails (<7.1) ([#34](https://github.com/hausgold/factory_bot_instrumentation/pull/34))
|
|
15
|
+
|
|
5
16
|
### 1.7.1 (14 March 2025)
|
|
6
17
|
|
|
7
18
|
* Corrected some RuboCop glitches ([#30](https://github.com/hausgold/factory_bot_instrumentation/pull/30))
|
data/Dockerfile
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
FROM hausgold/ruby:2
|
|
2
|
-
|
|
1
|
+
FROM hausgold/ruby:3.2
|
|
2
|
+
LABEL org.opencontainers.image.authors="containers@hausgold.de"
|
|
3
3
|
|
|
4
4
|
# Update system gem
|
|
5
|
-
RUN gem update --system '3.
|
|
5
|
+
RUN gem update --system '3.6.9'
|
|
6
6
|
|
|
7
7
|
# Install system packages and the latest bundler
|
|
8
8
|
RUN apt-get update -yqqq && \
|
|
@@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \
|
|
|
11
11
|
ca-certificates \
|
|
12
12
|
bash-completion inotify-tools && \
|
|
13
13
|
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
|
|
14
|
-
gem install bundler -v '~> 2.
|
|
14
|
+
gem install bundler -v '~> 2.6.9' --no-document --no-prerelease
|
|
15
15
|
|
|
16
16
|
# Add new web user
|
|
17
17
|
RUN mkdir /app && \
|
data/Gemfile
CHANGED
|
@@ -9,17 +9,17 @@ gemspec
|
|
|
9
9
|
|
|
10
10
|
# Development dependencies
|
|
11
11
|
gem 'appraisal', '~> 2.4'
|
|
12
|
-
gem 'bundler', '~> 2.
|
|
13
|
-
gem 'countless', '~>
|
|
12
|
+
gem 'bundler', '~> 2.6'
|
|
13
|
+
gem 'countless', '~> 2.2'
|
|
14
14
|
gem 'factory_bot_rails', '~> 6.2'
|
|
15
15
|
gem 'guard-rspec', '~> 4.7'
|
|
16
|
-
gem 'railties', '>=
|
|
17
|
-
gem 'rspec-rails', '~>
|
|
16
|
+
gem 'railties', '>= 7.1'
|
|
17
|
+
gem 'rspec-rails', '~> 7.1'
|
|
18
18
|
gem 'rubocop'
|
|
19
19
|
gem 'rubocop-rails'
|
|
20
20
|
gem 'rubocop-rspec'
|
|
21
21
|
gem 'simplecov', '>= 0.22'
|
|
22
|
-
gem 'sqlite3', '~>
|
|
22
|
+
gem 'sqlite3', '~> 2.7'
|
|
23
23
|
gem 'timecop', '>= 0.9.6'
|
|
24
24
|
gem 'yard', '>= 0.9.28'
|
|
25
25
|
gem 'yard-activesupport-concern', '>= 0.0.1'
|
data/Makefile
CHANGED
|
@@ -120,7 +120,7 @@ test-style: \
|
|
|
120
120
|
test-style-ruby:
|
|
121
121
|
# Run the static code analyzer (rubocop)
|
|
122
122
|
@$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
|
|
123
|
-
|| ($(TEST) $$($(RUBY_VERSION)) != '2
|
|
123
|
+
|| ($(TEST) $$($(RUBY_VERSION)) != '3.2' && true))
|
|
124
124
|
|
|
125
125
|
clean:
|
|
126
126
|
# Clean the dependencies
|
data/doc/assets/project.svg
CHANGED
|
@@ -1,68 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
version="1.1"
|
|
9
|
-
id="Ebene_1"
|
|
10
|
-
x="0px"
|
|
11
|
-
y="0px"
|
|
12
|
-
viewBox="0 0 800 200"
|
|
13
|
-
xml:space="preserve"
|
|
14
|
-
width="800"
|
|
15
|
-
height="200"><metadata
|
|
16
|
-
id="metadata33"><rdf:RDF><cc:Work
|
|
17
|
-
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
18
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
|
19
|
-
id="defs31" />
|
|
20
|
-
<style
|
|
21
|
-
type="text/css"
|
|
22
|
-
id="style2">
|
|
23
|
-
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
|
|
24
|
-
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
|
|
25
|
-
.st2{fill:#132E48;}
|
|
26
|
-
.st3{font-family:'OpenSans-Bold';}
|
|
27
|
-
.st4{font-size:29.5168px;}
|
|
28
|
-
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
|
29
|
-
.st6{opacity:0.5;fill:#132E48;}
|
|
30
|
-
.st7{font-family:'OpenSans';}
|
|
31
|
-
.st8{font-size:12px;}
|
|
32
|
-
</style>
|
|
33
|
-
<g
|
|
34
|
-
transform="translate(0,1.53584)"
|
|
35
|
-
id="g828"><g
|
|
36
|
-
transform="translate(35.93985,35.66416)"
|
|
37
|
-
id="g8">
|
|
38
|
-
<path
|
|
39
|
-
style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
|
|
40
|
-
id="path4"
|
|
41
|
-
d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
|
|
42
|
-
class="st0" />
|
|
43
|
-
<path
|
|
44
|
-
style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
|
|
45
|
-
id="path6"
|
|
46
|
-
d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
|
|
47
|
-
class="st1" />
|
|
48
|
-
</g><text
|
|
49
|
-
y="106.40316"
|
|
50
|
-
x="192.43155"
|
|
51
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
|
|
52
|
-
id="text10"
|
|
53
|
-
class="st2 st3 st4">factory_bot_instrumentation</text>
|
|
54
|
-
<rect
|
|
55
|
-
style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
|
|
56
|
-
id="rect12"
|
|
57
|
-
height="24"
|
|
58
|
-
width="314.5"
|
|
59
|
-
class="st5"
|
|
60
|
-
y="118.06416"
|
|
61
|
-
x="194.23985" /><text
|
|
62
|
-
y="127.22146"
|
|
63
|
-
x="194.21715"
|
|
64
|
-
style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
|
|
65
|
-
id="text14"
|
|
66
|
-
class="st6 st7 st8">Allow your testers to generate test data on demand</text>
|
|
67
|
-
</g>
|
|
68
|
-
</svg>
|
|
1
|
+
<svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:'OpenSans-Bold'}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:'OpenSans'}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
|
|
2
|
+
<text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
|
|
3
|
+
>factory_bot_instrumentation</text>
|
|
4
|
+
<path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
|
|
5
|
+
<text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
|
|
6
|
+
>Allow your testers to generate test data on demand</text>
|
|
7
|
+
<g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
|
data/docker-compose.yml
CHANGED
|
@@ -31,13 +31,13 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
32
32
|
spec.require_paths = ['lib']
|
|
33
33
|
|
|
34
|
-
spec.required_ruby_version = '>= 2
|
|
34
|
+
spec.required_ruby_version = '>= 3.2'
|
|
35
35
|
|
|
36
36
|
spec.add_dependency 'bigdecimal', '~> 3.1'
|
|
37
37
|
spec.add_dependency 'drb', '~> 2.2'
|
|
38
38
|
spec.add_dependency 'factory_bot', '~> 6.2'
|
|
39
|
-
spec.add_dependency 'mutex_m', '
|
|
40
|
-
spec.add_dependency 'rails', '>=
|
|
39
|
+
spec.add_dependency 'mutex_m', '>= 0.3'
|
|
40
|
+
spec.add_dependency 'rails', '>= 7.1'
|
|
41
41
|
spec.add_dependency 'retries', '>= 0.0.5'
|
|
42
42
|
spec.add_dependency 'zeitwerk', '~> 2.6'
|
|
43
43
|
end
|
data/gemfiles/rails_7.1.gemfile
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
source "https://rubygems.org"
|
|
4
4
|
|
|
5
5
|
gem "appraisal", "~> 2.4"
|
|
6
|
-
gem "bundler", "~> 2.
|
|
7
|
-
gem "countless", "~>
|
|
6
|
+
gem "bundler", "~> 2.6"
|
|
7
|
+
gem "countless", "~> 2.2"
|
|
8
8
|
gem "factory_bot_rails", "~> 6.2"
|
|
9
9
|
gem "guard-rspec", "~> 4.7"
|
|
10
|
-
gem "railties", ">=
|
|
11
|
-
gem "rspec-rails", "~>
|
|
10
|
+
gem "railties", ">= 7.1"
|
|
11
|
+
gem "rspec-rails", "~> 7.1"
|
|
12
12
|
gem "rubocop"
|
|
13
13
|
gem "rubocop-rails"
|
|
14
14
|
gem "rubocop-rspec"
|
|
15
15
|
gem "simplecov", ">= 0.22"
|
|
16
|
-
gem "sqlite3", "~>
|
|
16
|
+
gem "sqlite3", "~> 2.7"
|
|
17
17
|
gem "timecop", ">= 0.9.6"
|
|
18
18
|
gem "yard", ">= 0.9.28"
|
|
19
19
|
gem "yard-activesupport-concern", ">= 0.0.1"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "appraisal", "~> 2.4"
|
|
6
|
+
gem "bundler", "~> 2.6"
|
|
7
|
+
gem "countless", "~> 2.2"
|
|
8
|
+
gem "factory_bot_rails", "~> 6.2"
|
|
9
|
+
gem "guard-rspec", "~> 4.7"
|
|
10
|
+
gem "railties", ">= 7.1"
|
|
11
|
+
gem "rspec-rails", "~> 7.1"
|
|
12
|
+
gem "rubocop"
|
|
13
|
+
gem "rubocop-rails"
|
|
14
|
+
gem "rubocop-rspec"
|
|
15
|
+
gem "simplecov", ">= 0.22"
|
|
16
|
+
gem "sqlite3", "~> 2.7"
|
|
17
|
+
gem "timecop", ">= 0.9.6"
|
|
18
|
+
gem "yard", ">= 0.9.28"
|
|
19
|
+
gem "yard-activesupport-concern", ">= 0.0.1"
|
|
20
|
+
gem "rails", "~> 7.2.0"
|
|
21
|
+
|
|
22
|
+
gemspec path: "../"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "appraisal", "~> 2.4"
|
|
6
|
+
gem "bundler", "~> 2.6"
|
|
7
|
+
gem "countless", "~> 2.2"
|
|
8
|
+
gem "factory_bot_rails", "~> 6.2"
|
|
9
|
+
gem "guard-rspec", "~> 4.7"
|
|
10
|
+
gem "railties", ">= 7.1"
|
|
11
|
+
gem "rspec-rails", "~> 7.1"
|
|
12
|
+
gem "rubocop"
|
|
13
|
+
gem "rubocop-rails"
|
|
14
|
+
gem "rubocop-rspec"
|
|
15
|
+
gem "simplecov", ">= 0.22"
|
|
16
|
+
gem "sqlite3", "~> 2.7"
|
|
17
|
+
gem "timecop", ">= 0.9.6"
|
|
18
|
+
gem "yard", ">= 0.9.28"
|
|
19
|
+
gem "yard-activesupport-concern", ">= 0.0.1"
|
|
20
|
+
gem "rails", "~> 8.0.0"
|
|
21
|
+
|
|
22
|
+
gemspec path: "../"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "appraisal", "~> 2.4"
|
|
6
|
+
gem "bundler", "~> 2.6"
|
|
7
|
+
gem "countless", "~> 2.2"
|
|
8
|
+
gem "factory_bot_rails", "~> 6.2"
|
|
9
|
+
gem "guard-rspec", "~> 4.7"
|
|
10
|
+
gem "railties", ">= 7.1"
|
|
11
|
+
gem "rspec-rails", "~> 7.1"
|
|
12
|
+
gem "rubocop"
|
|
13
|
+
gem "rubocop-rails"
|
|
14
|
+
gem "rubocop-rspec"
|
|
15
|
+
gem "simplecov", ">= 0.22"
|
|
16
|
+
gem "sqlite3", "~> 2.7"
|
|
17
|
+
gem "timecop", ">= 0.9.6"
|
|
18
|
+
gem "yard", ">= 0.9.28"
|
|
19
|
+
gem "yard-activesupport-concern", ">= 0.0.1"
|
|
20
|
+
gem "rails", "~> 8.1.0"
|
|
21
|
+
|
|
22
|
+
gemspec path: "../"
|
|
@@ -3,8 +3,46 @@
|
|
|
3
3
|
module FactoryBot
|
|
4
4
|
module Instrumentation
|
|
5
5
|
# The configuration for the instrumentation API.
|
|
6
|
-
class Configuration
|
|
7
|
-
|
|
6
|
+
class Configuration < ActiveSupport::OrderedOptions
|
|
7
|
+
# Track our configurations settings (+Symbol+ keys) and their defaults as
|
|
8
|
+
# lazy-loaded +Proc+'s values
|
|
9
|
+
class_attribute :defaults,
|
|
10
|
+
instance_reader: true,
|
|
11
|
+
instance_writer: false,
|
|
12
|
+
instance_predicate: false,
|
|
13
|
+
default: {}
|
|
14
|
+
|
|
15
|
+
# Create a new +Configuration+ instance with all settings populated with
|
|
16
|
+
# their respective defaults.
|
|
17
|
+
#
|
|
18
|
+
# @param args [Hash{Symbol => Mixed}] additional settings which
|
|
19
|
+
# overwrite the defaults
|
|
20
|
+
# @return [Configuration] the new configuration instance
|
|
21
|
+
def initialize(**args)
|
|
22
|
+
super()
|
|
23
|
+
defaults.each { |key, default| self[key] = instance_exec(&default) }
|
|
24
|
+
merge!(**args)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# A simple DSL method to define new configuration accessors/settings with
|
|
28
|
+
# their defaults. The defaults can be retrieved with
|
|
29
|
+
# +Configuration.defaults+ or +Configuration.new.defaults+.
|
|
30
|
+
#
|
|
31
|
+
# @param name [Symbol, String] the name of the configuration
|
|
32
|
+
# accessor/setting
|
|
33
|
+
# @param default [Mixed, nil] a non-lazy-loaded static value, serving as
|
|
34
|
+
# a default value for the setting
|
|
35
|
+
# @param block [Proc] when given, the default value will be lazy-loaded
|
|
36
|
+
# (result of the Proc)
|
|
37
|
+
def self.config_accessor(name, default = nil, &block)
|
|
38
|
+
# Save the given configuration accessor default value
|
|
39
|
+
defaults[name.to_sym] = block || -> { default }
|
|
40
|
+
|
|
41
|
+
# Compile reader/writer methods so we don't have to go through
|
|
42
|
+
# +ActiveSupport::OrderedOptions#method_missing+.
|
|
43
|
+
define_method(name) { self[name] }
|
|
44
|
+
define_method("#{name}=") { |value| self[name] = value }
|
|
45
|
+
end
|
|
8
46
|
|
|
9
47
|
# The instrumentation configuration file path we should use,
|
|
10
48
|
# defaults to config/instrumentation.yml
|
|
@@ -17,7 +17,7 @@ module FactoryBot
|
|
|
17
17
|
# leads to +FactoryBot::DuplicateDefinitionError+s.
|
|
18
18
|
initializer_names = app.initializers.map(&:name).map(&:to_s)
|
|
19
19
|
FactoryBot.reload \
|
|
20
|
-
if initializer_names.grep(/^factory_bot\./).
|
|
20
|
+
if initializer_names.grep(/^factory_bot\./).none?
|
|
21
21
|
|
|
22
22
|
FactoryBot::Instrumentation.configure do |conf|
|
|
23
23
|
# Set the application name dynamically
|
|
@@ -4,9 +4,10 @@ require 'zeitwerk'
|
|
|
4
4
|
require 'logger'
|
|
5
5
|
require 'active_support'
|
|
6
6
|
require 'active_support/concern'
|
|
7
|
-
require 'active_support/
|
|
7
|
+
require 'active_support/ordered_options'
|
|
8
8
|
require 'active_support/cache'
|
|
9
9
|
require 'active_support/core_ext/hash'
|
|
10
|
+
require 'active_support/core_ext/class/attribute'
|
|
10
11
|
require 'active_support/time'
|
|
11
12
|
require 'active_support/time_with_zone'
|
|
12
13
|
require 'retries'
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: factory_bot_instrumentation
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hermann Mayer
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bigdecimal
|
|
@@ -56,30 +55,30 @@ dependencies:
|
|
|
56
55
|
name: mutex_m
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
|
-
- - "
|
|
58
|
+
- - ">="
|
|
60
59
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.3
|
|
60
|
+
version: '0.3'
|
|
62
61
|
type: :runtime
|
|
63
62
|
prerelease: false
|
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
64
|
requirements:
|
|
66
|
-
- - "
|
|
65
|
+
- - ">="
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.3
|
|
67
|
+
version: '0.3'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
69
|
name: rails
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
72
71
|
requirements:
|
|
73
72
|
- - ">="
|
|
74
73
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
74
|
+
version: '7.1'
|
|
76
75
|
type: :runtime
|
|
77
76
|
prerelease: false
|
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
78
|
requirements:
|
|
80
79
|
- - ">="
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
81
|
+
version: '7.1'
|
|
83
82
|
- !ruby/object:Gem::Dependency
|
|
84
83
|
name: retries
|
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,12 +167,14 @@ files:
|
|
|
168
167
|
- factory_bot_instrumentation.gemspec
|
|
169
168
|
- gemfiles/rails_6.1.gemfile
|
|
170
169
|
- gemfiles/rails_7.1.gemfile
|
|
170
|
+
- gemfiles/rails_7.2.gemfile
|
|
171
|
+
- gemfiles/rails_8.0.gemfile
|
|
172
|
+
- gemfiles/rails_8.1.gemfile
|
|
171
173
|
- lib/factory_bot/instrumentation.rb
|
|
172
174
|
- lib/factory_bot/instrumentation/configuration.rb
|
|
173
175
|
- lib/factory_bot/instrumentation/engine.rb
|
|
174
176
|
- lib/factory_bot/instrumentation/version.rb
|
|
175
177
|
- lib/factory_bot_instrumentation.rb
|
|
176
|
-
homepage:
|
|
177
178
|
licenses:
|
|
178
179
|
- MIT
|
|
179
180
|
metadata:
|
|
@@ -182,7 +183,6 @@ metadata:
|
|
|
182
183
|
changelog_uri: https://github.com/hausgold/factory_bot_instrumentation/blob/master/CHANGELOG.md
|
|
183
184
|
bug_tracker_uri: https://github.com/hausgold/factory_bot_instrumentation/issues
|
|
184
185
|
documentation_uri: https://www.rubydoc.info/gems/factory_bot_instrumentation
|
|
185
|
-
post_install_message:
|
|
186
186
|
rdoc_options: []
|
|
187
187
|
require_paths:
|
|
188
188
|
- lib
|
|
@@ -190,15 +190,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
190
190
|
requirements:
|
|
191
191
|
- - ">="
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '2
|
|
193
|
+
version: '3.2'
|
|
194
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
195
|
requirements:
|
|
196
196
|
- - ">="
|
|
197
197
|
- !ruby/object:Gem::Version
|
|
198
198
|
version: '0'
|
|
199
199
|
requirements: []
|
|
200
|
-
rubygems_version: 3.
|
|
201
|
-
signing_key:
|
|
200
|
+
rubygems_version: 3.6.9
|
|
202
201
|
specification_version: 4
|
|
203
202
|
summary: Allow your testers to generate test data on demand
|
|
204
203
|
test_files: []
|