factory_bot_instrumentation 0.8.0 → 1.0.1
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/documentation.yml +3 -2
- data/.github/workflows/test.yml +6 -5
- data/.rspec +2 -2
- data/.rubocop.yml +15 -2
- data/.simplecov +12 -0
- data/Appraisals +1 -9
- data/CHANGELOG.md +13 -0
- data/Dockerfile +28 -0
- data/Envfile +3 -0
- data/Guardfile +47 -0
- data/LICENSE +1 -1
- data/Makefile +39 -6
- data/Rakefile +16 -67
- data/app/controllers/factory_bot/instrumentation/root_controller.rb +11 -8
- data/config/docker/.bash_profile +3 -0
- data/config/docker/.bashrc +48 -0
- data/config/docker/.inputrc +17 -0
- data/docker-compose.yml +2 -1
- data/factory_bot_instrumentation.gemspec +39 -23
- data/gemfiles/rails_5.2.gemfile +1 -1
- data/lib/factory_bot/instrumentation/engine.rb +7 -2
- data/lib/factory_bot/instrumentation/version.rb +19 -1
- data/lib/factory_bot_instrumentation.rb +1 -0
- metadata +110 -56
- data/gemfiles/rails_5.0.gemfile +0 -7
- data/gemfiles/rails_5.1.gemfile +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 106c1aa5ca524b01dbff80a366493e8e921d2b65aba880d156da6481f6798d74
|
|
4
|
+
data.tar.gz: 538be239cc2016d21996c85d96730c8501dfca703f5d7a1d259dc198aa0da880
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 423b35d7c9c7e590a1b312206f5f05a93407fa1fe3f5dff3790ae0ba9d263f782e7a3e8cbd24ae48307e422dd4806e15284b378b71f35792384d0fbf1739e449
|
|
7
|
+
data.tar.gz: 6f2211b069039602f7e74bfa6a5d737acf2a651953ce81e6c758fed27625719f4128abb419dd5a66accfa5614c89e7663e65e9944bca09674e58f05244158b28
|
|
@@ -9,16 +9,17 @@ concurrency:
|
|
|
9
9
|
jobs:
|
|
10
10
|
docs:
|
|
11
11
|
name: Build gem documentation
|
|
12
|
-
runs-on: ubuntu-
|
|
12
|
+
runs-on: ubuntu-22.04
|
|
13
13
|
timeout-minutes: 5
|
|
14
14
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@v3
|
|
16
16
|
|
|
17
17
|
- name: Install the correct Ruby version
|
|
18
18
|
uses: ruby/setup-ruby@v1
|
|
19
19
|
with:
|
|
20
20
|
ruby-version: 2.5
|
|
21
21
|
bundler-cache: true
|
|
22
|
+
rubygems: '3.3.26'
|
|
22
23
|
|
|
23
24
|
- name: Prepare the virtual environment
|
|
24
25
|
uses: hausgold/actions/ci@master
|
data/.github/workflows/test.yml
CHANGED
|
@@ -13,23 +13,24 @@ concurrency:
|
|
|
13
13
|
jobs:
|
|
14
14
|
test:
|
|
15
15
|
name: 'Test the gem (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }})'
|
|
16
|
-
runs-on: ubuntu-
|
|
16
|
+
runs-on: ubuntu-22.04
|
|
17
17
|
timeout-minutes: 5
|
|
18
18
|
strategy:
|
|
19
19
|
fail-fast: false
|
|
20
20
|
matrix:
|
|
21
|
-
ruby: [2.
|
|
22
|
-
rails: ['5.
|
|
21
|
+
ruby: ['2.5', '2.7']
|
|
22
|
+
rails: ['5.2']
|
|
23
23
|
env:
|
|
24
24
|
BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
|
|
25
25
|
steps:
|
|
26
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v3
|
|
27
27
|
|
|
28
28
|
- name: Install the correct Ruby version
|
|
29
29
|
uses: ruby/setup-ruby@v1
|
|
30
30
|
with:
|
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
|
32
32
|
bundler-cache: true
|
|
33
|
+
rubygems: '3.3.26'
|
|
33
34
|
|
|
34
35
|
- name: Prepare the virtual environment
|
|
35
36
|
uses: hausgold/actions/ci@master
|
|
@@ -46,7 +47,7 @@ jobs:
|
|
|
46
47
|
|
|
47
48
|
trigger-docs:
|
|
48
49
|
name: Trigger the documentation upload
|
|
49
|
-
runs-on: ubuntu-
|
|
50
|
+
runs-on: ubuntu-22.04
|
|
50
51
|
timeout-minutes: 2
|
|
51
52
|
needs: test
|
|
52
53
|
if: github.ref == 'refs/heads/master'
|
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
require:
|
|
1
|
+
require:
|
|
2
|
+
- rubocop-rspec
|
|
3
|
+
- rubocop-rails
|
|
2
4
|
|
|
3
5
|
Rails:
|
|
4
6
|
Enabled: true
|
|
5
7
|
|
|
6
|
-
Documentation:
|
|
8
|
+
Style/Documentation:
|
|
7
9
|
Enabled: true
|
|
8
10
|
|
|
9
11
|
AllCops:
|
|
12
|
+
NewCops: enable
|
|
13
|
+
SuggestExtensions: false
|
|
10
14
|
DisplayCopNames: true
|
|
11
15
|
TargetRubyVersion: 2.5
|
|
16
|
+
TargetRailsVersion: 5.2
|
|
12
17
|
Exclude:
|
|
13
18
|
- bin/**/*
|
|
14
19
|
- vendor/**/*
|
|
@@ -24,6 +29,14 @@ Metrics/BlockLength:
|
|
|
24
29
|
- '**/*.rake'
|
|
25
30
|
- doc/**/*.rb
|
|
26
31
|
|
|
32
|
+
# MFA is not yet enabled for our gems yet.
|
|
33
|
+
Gemspec/RequireMFA:
|
|
34
|
+
Enabled: false
|
|
35
|
+
|
|
36
|
+
# We stay with the original Ruby Style Guide recommendation.
|
|
37
|
+
Layout/LineLength:
|
|
38
|
+
Max: 80
|
|
39
|
+
|
|
27
40
|
# Document all the things.
|
|
28
41
|
Style/DocumentationMethod:
|
|
29
42
|
Enabled: true
|
data/.simplecov
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'simplecov-html'
|
|
4
|
+
require 'simplecov_json_formatter'
|
|
5
|
+
|
|
6
|
+
SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
|
|
7
|
+
[
|
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
|
9
|
+
SimpleCov::Formatter::JSONFormatter
|
|
10
|
+
]
|
|
11
|
+
)
|
|
12
|
+
|
|
1
13
|
SimpleCov.start 'test_frameworks' do
|
|
2
14
|
add_filter '/vendor/bundle/'
|
|
3
15
|
end
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
### 1.0.1
|
|
2
|
+
|
|
3
|
+
* Added a retry logic to the FactoryBot reloading on the POST/create endpoint
|
|
4
|
+
in order to handle parallel requests properly (#13)
|
|
5
|
+
|
|
6
|
+
### 1.0.0
|
|
7
|
+
|
|
8
|
+
* Bundler >= 2.3 is from now on required as minimal version (#12)
|
|
9
|
+
* Dropped support for Ruby < 2.5 (#12)
|
|
10
|
+
* Dropped support for Rails < 5.2 (#12)
|
|
11
|
+
* Updated all development/runtime gems to their latest
|
|
12
|
+
Ruby 2.5 compatible version (#12)
|
|
13
|
+
|
|
1
14
|
### 0.8.0
|
|
2
15
|
|
|
3
16
|
* Added `FactoryBot.reload` to the initializer code to ensure the factories
|
data/Dockerfile
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
FROM hausgold/ruby:2.5
|
|
2
|
+
MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
|
|
3
|
+
|
|
4
|
+
# Update system gem
|
|
5
|
+
RUN gem update --system '3.3.26'
|
|
6
|
+
|
|
7
|
+
# Install system packages and the latest bundler
|
|
8
|
+
RUN apt-get update -yqqq && \
|
|
9
|
+
apt-get install -y \
|
|
10
|
+
build-essential locales sudo vim \
|
|
11
|
+
ca-certificates \
|
|
12
|
+
bash-completion inotify-tools && \
|
|
13
|
+
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
|
|
14
|
+
gem install bundler -v '~> 2.3.0' --no-document --no-prerelease
|
|
15
|
+
|
|
16
|
+
# Add new web user
|
|
17
|
+
RUN mkdir /app && \
|
|
18
|
+
adduser web --home /home/web --shell /bin/bash \
|
|
19
|
+
--disabled-password --gecos ""
|
|
20
|
+
COPY config/docker/* /home/web/
|
|
21
|
+
RUN chown web:web -R /app /home/web /usr/local/bundle && \
|
|
22
|
+
mkdir -p /home/web/.ssh
|
|
23
|
+
|
|
24
|
+
# Set the root password and grant root access to web
|
|
25
|
+
RUN echo 'root:root' | chpasswd
|
|
26
|
+
RUN echo 'web ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
|
27
|
+
|
|
28
|
+
WORKDIR /app
|
data/Envfile
ADDED
data/Guardfile
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# A sample Guardfile
|
|
4
|
+
# More info at https://github.com/guard/guard#readme
|
|
5
|
+
|
|
6
|
+
## Uncomment and set this to only include directories you want to watch
|
|
7
|
+
(directories %w[app lib spec]).select do |d|
|
|
8
|
+
if Dir.exist?(d)
|
|
9
|
+
d
|
|
10
|
+
else
|
|
11
|
+
UI.warning("Directory #{d} does not exist")
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
## Note: if you are using the `directories` clause above and you are not
|
|
16
|
+
## watching the project directory ('.'), then you will want to move
|
|
17
|
+
## the Guardfile to a watched dir and symlink it back, e.g.
|
|
18
|
+
#
|
|
19
|
+
# $ mkdir config
|
|
20
|
+
# $ mv Guardfile config/
|
|
21
|
+
# $ ln -s config/Guardfile .
|
|
22
|
+
#
|
|
23
|
+
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
|
|
24
|
+
|
|
25
|
+
# NOTE: The cmd option is now required due to the increasing number of ways
|
|
26
|
+
# rspec may be run, below are examples of the most common uses.
|
|
27
|
+
# * bundler: 'bundle exec rspec'
|
|
28
|
+
# * bundler binstubs: 'bin/rspec'
|
|
29
|
+
# * spring: 'bin/rspec' (This will use spring if running and you have
|
|
30
|
+
# installed the spring binstubs per the docs)
|
|
31
|
+
# * zeus: 'zeus rspec' (requires the server to be started separately)
|
|
32
|
+
# * 'just' rspec: 'rspec'
|
|
33
|
+
|
|
34
|
+
guard :rspec, cmd: 'bundle exec rspec' do
|
|
35
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
|
36
|
+
watch(%r{^lib/factory_bot_instrumentation.rb}) { 'spec' }
|
|
37
|
+
watch(%r{^spec/.+_spec\.rb$})
|
|
38
|
+
watch(%r{^app/controllers/([^\\]+)/(.*)\.rb$}) do |m|
|
|
39
|
+
"spec/controllers/#{m[1]}/#{m[2]}_spec.rb"
|
|
40
|
+
end
|
|
41
|
+
watch(%r{^lib/factory_bot/instrumentation/([^\\]+)\.rb$}) do |m|
|
|
42
|
+
"spec/#{m[1]}_spec.rb"
|
|
43
|
+
end
|
|
44
|
+
watch(%r{^lib/factory_bot/instrumentation/([^\\]+)/(.*)\.rb$}) do |m|
|
|
45
|
+
"spec/#{m[1]}/#{m[2]}_spec.rb"
|
|
46
|
+
end
|
|
47
|
+
end
|
data/LICENSE
CHANGED
data/Makefile
CHANGED
|
@@ -9,6 +9,7 @@ SHELL := bash
|
|
|
9
9
|
# Environment switches
|
|
10
10
|
MAKE_ENV ?= docker
|
|
11
11
|
COMPOSE_RUN_SHELL_FLAGS ?= --rm
|
|
12
|
+
BASH_RUN_SHELL_FLAGS ?=
|
|
12
13
|
|
|
13
14
|
# Directories
|
|
14
15
|
VENDOR_DIR ?= vendor/bundle
|
|
@@ -22,9 +23,11 @@ MKDIR ?= mkdir
|
|
|
22
23
|
RM ?= rm
|
|
23
24
|
|
|
24
25
|
# Container binaries
|
|
25
|
-
BUNDLE ?= bundle
|
|
26
26
|
APPRAISAL ?= appraisal
|
|
27
|
+
BUNDLE ?= bundle
|
|
28
|
+
GUARD ?= guard
|
|
27
29
|
RAKE ?= rake
|
|
30
|
+
RSPEC ?= rspec
|
|
28
31
|
RUBOCOP ?= rubocop
|
|
29
32
|
YARD ?= yard
|
|
30
33
|
|
|
@@ -39,8 +42,9 @@ ifeq ($(MAKE_ENV),docker)
|
|
|
39
42
|
define run-shell
|
|
40
43
|
$(COMPOSE) run $(COMPOSE_RUN_SHELL_FLAGS) \
|
|
41
44
|
-e LANG=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 \
|
|
42
|
-
-e HOME=/
|
|
43
|
-
-u `$(ID) -u` test
|
|
45
|
+
-e HOME=/home/web -e BUNDLE_APP_CONFIG=/app/.bundle \
|
|
46
|
+
-u `$(ID) -u` test \
|
|
47
|
+
bash $(BASH_RUN_SHELL_FLAGS) -c 'sleep 0.1; echo; $(1)'
|
|
44
48
|
endef
|
|
45
49
|
else ifeq ($(MAKE_ENV),baremetal)
|
|
46
50
|
define run-shell
|
|
@@ -52,9 +56,13 @@ all:
|
|
|
52
56
|
# factory_bot_instrumentation
|
|
53
57
|
#
|
|
54
58
|
# install Install the dependencies
|
|
55
|
-
#
|
|
59
|
+
# update Update the local Gemset dependencies
|
|
56
60
|
# clean Clean the dependencies
|
|
57
61
|
#
|
|
62
|
+
# test Run the whole test suite
|
|
63
|
+
# test-style Test the code styles
|
|
64
|
+
# watch Watch for code changes and rerun the test suite
|
|
65
|
+
#
|
|
58
66
|
# docs Generate the Ruby documentation of the library
|
|
59
67
|
# stats Print the code statistics (library and test suite)
|
|
60
68
|
# notes Print all the notes from the code
|
|
@@ -63,12 +71,25 @@ all:
|
|
|
63
71
|
# shell Run an interactive shell on the container
|
|
64
72
|
# shell-irb Run an interactive IRB shell on the container
|
|
65
73
|
|
|
74
|
+
.interactive:
|
|
75
|
+
@$(eval BASH_RUN_SHELL_FLAGS = --login)
|
|
76
|
+
|
|
66
77
|
install:
|
|
67
78
|
# Install the dependencies
|
|
68
79
|
@$(MKDIR) -p $(VENDOR_DIR)
|
|
69
80
|
@$(call run-shell,$(BUNDLE) check || $(BUNDLE) install --path $(VENDOR_DIR))
|
|
70
81
|
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) install)
|
|
71
82
|
|
|
83
|
+
update:
|
|
84
|
+
# Install the dependencies
|
|
85
|
+
@$(MKDIR) -p $(VENDOR_DIR)
|
|
86
|
+
@$(call run-shell,$(BUNDLE) update)
|
|
87
|
+
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) update)
|
|
88
|
+
|
|
89
|
+
watch: install .interactive
|
|
90
|
+
# Watch for code changes and rerun the test suite
|
|
91
|
+
@$(call run-shell,$(BUNDLE) exec $(GUARD))
|
|
92
|
+
|
|
72
93
|
test: \
|
|
73
94
|
test-specs \
|
|
74
95
|
test-style
|
|
@@ -80,7 +101,7 @@ test-specs:
|
|
|
80
101
|
$(TEST_GEMFILES): GEMFILE=$(@:test-%=%)
|
|
81
102
|
$(TEST_GEMFILES):
|
|
82
103
|
# Run the whole test suite ($(GEMFILE))
|
|
83
|
-
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(
|
|
104
|
+
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(RSPEC))
|
|
84
105
|
|
|
85
106
|
test-style: \
|
|
86
107
|
test-style-ruby
|
|
@@ -92,6 +113,10 @@ test-style-ruby:
|
|
|
92
113
|
clean:
|
|
93
114
|
# Clean the dependencies
|
|
94
115
|
@$(RM) -rf $(VENDOR_DIR)
|
|
116
|
+
@$(RM) -rf $(GEMFILES_DIR)/vendor
|
|
117
|
+
@$(RM) -rf $(GEMFILES_DIR)/*.lock
|
|
118
|
+
@$(RM) -rf .bundle .yardoc coverage pkg Gemfile.lock doc/api \
|
|
119
|
+
.rspec_status
|
|
95
120
|
|
|
96
121
|
clean-containers:
|
|
97
122
|
# Clean running containers
|
|
@@ -99,7 +124,15 @@ ifeq ($(MAKE_ENV),docker)
|
|
|
99
124
|
@$(COMPOSE) down
|
|
100
125
|
endif
|
|
101
126
|
|
|
102
|
-
|
|
127
|
+
clean-images:
|
|
128
|
+
# Clean build images
|
|
129
|
+
ifeq ($(MAKE_ENV),docker)
|
|
130
|
+
@-$(DOCKER) images | $(GREP) $(shell basename "`pwd`") \
|
|
131
|
+
| $(AWK) '{ print $$3 }' \
|
|
132
|
+
| $(XARGS) -rn1 $(DOCKER) rmi -f
|
|
133
|
+
endif
|
|
134
|
+
|
|
135
|
+
distclean: clean clean-containers clean-images
|
|
103
136
|
|
|
104
137
|
shell:
|
|
105
138
|
# Run an interactive shell on the container
|
data/Rakefile
CHANGED
|
@@ -4,11 +4,9 @@
|
|
|
4
4
|
ENV['RAILS_ENV'] = 'test'
|
|
5
5
|
ENV['DISABLE_DATABASE_ENVIRONMENT_CHECK'] = '1'
|
|
6
6
|
|
|
7
|
-
require 'bundler/setup'
|
|
8
7
|
require 'bundler/gem_tasks'
|
|
9
8
|
require 'rspec/core/rake_task'
|
|
10
|
-
require '
|
|
11
|
-
require 'pp'
|
|
9
|
+
require 'countless/rake_tasks'
|
|
12
10
|
|
|
13
11
|
APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
|
|
14
12
|
load 'rails/tasks/engine.rake'
|
|
@@ -17,9 +15,6 @@ Bundler::GemHelper.install_tasks
|
|
|
17
15
|
|
|
18
16
|
Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each { |f| load f }
|
|
19
17
|
|
|
20
|
-
require 'rspec/core'
|
|
21
|
-
require 'rspec/core/rake_task'
|
|
22
|
-
|
|
23
18
|
desc 'Run all specs in spec directory (excluding plugin specs)'
|
|
24
19
|
RSpec::Core::RakeTask.new(spec: [
|
|
25
20
|
'db:drop', 'db:create', 'db:migrate', 'db:setup'
|
|
@@ -27,66 +22,20 @@ RSpec::Core::RakeTask.new(spec: [
|
|
|
27
22
|
|
|
28
23
|
task default: :spec
|
|
29
24
|
|
|
30
|
-
# Load some railties tasks
|
|
31
|
-
load 'rails/tasks/statistics.rake'
|
|
32
|
-
load 'rails/tasks/annotations.rake'
|
|
33
|
-
|
|
34
|
-
# Clear the default statistics directory constant
|
|
35
|
-
#
|
|
36
|
-
# rubocop:disable Style/MutableConstant because we define it
|
|
37
|
-
Object.send(:remove_const, :STATS_DIRECTORIES)
|
|
38
|
-
::STATS_DIRECTORIES = []
|
|
39
|
-
# rubocop:enable Style/MutableConstant
|
|
40
|
-
|
|
41
|
-
# Monkey patch the Rails +CodeStatistics+ class to support configurable
|
|
42
|
-
# patterns per path. This is reuqired to support top-level only file matches.
|
|
43
|
-
class CodeStatistics
|
|
44
|
-
DEFAULT_PATTERN = /^(?!\.).*?\.(rb|js|coffee|rake)$/.freeze
|
|
45
|
-
|
|
46
|
-
# Pass the possible +pattern+ argument down to the
|
|
47
|
-
# +calculate_directory_statistics+ method call.
|
|
48
|
-
def calculate_statistics
|
|
49
|
-
Hash[@pairs.map do |pair|
|
|
50
|
-
[pair.first, calculate_directory_statistics(*pair[1..-1])]
|
|
51
|
-
end]
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Match the pattern against the individual file name and the relative file
|
|
55
|
-
# path. This allows top-level only matches.
|
|
56
|
-
def calculate_directory_statistics(directory, pattern = DEFAULT_PATTERN)
|
|
57
|
-
stats = CodeStatisticsCalculator.new
|
|
58
|
-
|
|
59
|
-
Dir.foreach(directory) do |file_name|
|
|
60
|
-
path = "#{directory}/#{file_name}"
|
|
61
|
-
|
|
62
|
-
if File.directory?(path) && (/^\./ !~ file_name)
|
|
63
|
-
stats.add(calculate_directory_statistics(path, pattern))
|
|
64
|
-
elsif file_name =~ pattern || path =~ pattern
|
|
65
|
-
stats.add_by_file_path(path)
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
stats
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
25
|
# Configure all code statistics directories
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
desc 'Enumerate all annotations'
|
|
90
|
-
task :notes do
|
|
91
|
-
SourceAnnotationExtractor.enumerate '@?OPTIMIZE|@?FIXME|@?TODO', tag: true
|
|
26
|
+
Countless.configure do |config|
|
|
27
|
+
config.stats_base_directories = [
|
|
28
|
+
{ name: 'Top-levels', dir: 'lib',
|
|
29
|
+
pattern: %r{/lib/[^/]+\.rb$} },
|
|
30
|
+
{ name: 'Top-levels specs', test: true, dir: 'spec',
|
|
31
|
+
pattern: %r{/spec/[^/]+_spec\.rb$} },
|
|
32
|
+
{ name: 'Libraries',
|
|
33
|
+
pattern: 'lib/factory_bot/**/*_spec.rb' },
|
|
34
|
+
{ name: 'Javascript', pattern: 'app/assets/**/*.js' },
|
|
35
|
+
{ name: 'Stylesheets', pattern: 'app/assets/**/*.css' },
|
|
36
|
+
{ name: 'Views', pattern: 'app/views/**/*.erb' },
|
|
37
|
+
{ name: 'Controllers', pattern: 'app/controllers/**/*.rb' },
|
|
38
|
+
{ name: 'Controllers specs', test: true,
|
|
39
|
+
pattern: 'spec/controllers/**/*_spec.rb' }
|
|
40
|
+
]
|
|
92
41
|
end
|
|
@@ -37,20 +37,23 @@ module FactoryBot
|
|
|
37
37
|
#
|
|
38
38
|
# The result is the API v1 representation of the created entity.
|
|
39
39
|
def create
|
|
40
|
-
# Reload the factories to improve the test development experience
|
|
41
|
-
|
|
40
|
+
# Reload the factories to improve the test development experience.
|
|
41
|
+
# In parallel request conditions this may lead to +Factory already
|
|
42
|
+
# registered+ errors as this call is not thread safe as it seems,
|
|
43
|
+
# so we retry it multiple times.
|
|
44
|
+
with_retries(max_tries: 15) { FactoryBot.reload }
|
|
42
45
|
# Call the factory construction with the user given parameters
|
|
43
46
|
entity = FactoryBot.create(*factory_params)
|
|
44
47
|
# Render the resulting entity with the configured rendering block
|
|
45
48
|
FactoryBot::Instrumentation.configuration.render_entity.call(
|
|
46
49
|
self, entity
|
|
47
50
|
)
|
|
48
|
-
rescue StandardError =>
|
|
51
|
+
rescue StandardError => e
|
|
49
52
|
# Handle any error gracefully with the configured error handler
|
|
50
|
-
FactoryBot::Instrumentation.configuration.render_error.call(self,
|
|
53
|
+
FactoryBot::Instrumentation.configuration.render_error.call(self, e)
|
|
51
54
|
end
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
protected
|
|
54
57
|
|
|
55
58
|
# Parse the given parameters from the request and build
|
|
56
59
|
# a valid FactoryBot options set.
|
|
@@ -72,7 +75,7 @@ module FactoryBot
|
|
|
72
75
|
[
|
|
73
76
|
data.fetch(:factory).to_sym,
|
|
74
77
|
*data.fetch(:traits, []).map(&:to_sym),
|
|
75
|
-
**overwrite
|
|
78
|
+
{ **overwrite }
|
|
76
79
|
]
|
|
77
80
|
end
|
|
78
81
|
# rubocop:enable Metrics/MethodLength
|
|
@@ -109,8 +112,8 @@ module FactoryBot
|
|
|
109
112
|
#
|
|
110
113
|
# @return [Hash{Regexp => String}] the group mapping
|
|
111
114
|
def groups
|
|
112
|
-
instrumentation['groups'].
|
|
113
|
-
|
|
115
|
+
instrumentation['groups'].transform_keys do |key|
|
|
116
|
+
Regexp.new(Regexp.quote(key))
|
|
114
117
|
end
|
|
115
118
|
end
|
|
116
119
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# ~/.bashrc: executed by bash(1) for non-login shells.
|
|
2
|
+
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
|
3
|
+
# for examples
|
|
4
|
+
|
|
5
|
+
_GEM_PATHS=$(ls -d1 ${HOME}/.gem/ruby/*/bin 2>/dev/null | paste -sd ':')
|
|
6
|
+
_APP_PATHS=$(ls -d1 /app/vendor/bundle/ruby/*/bin 2>/dev/null | paste -sd ':')
|
|
7
|
+
|
|
8
|
+
export PATH="${_GEM_PATHS}:${_APP_PATHS}:${PATH}"
|
|
9
|
+
export PATH="/app/node_modules/.bin:${HOME}/.bin:/app/bin:${PATH}"
|
|
10
|
+
export MAKE_ENV=baremetal
|
|
11
|
+
|
|
12
|
+
# Disable the autostart of all supervisord units
|
|
13
|
+
sudo sed -i 's/autostart=.*/autostart=false/g' /etc/supervisor/conf.d/*
|
|
14
|
+
|
|
15
|
+
# Start the supervisord (empty, no units)
|
|
16
|
+
sudo supervisord >/dev/null 2>&1 &
|
|
17
|
+
|
|
18
|
+
# Wait for supervisord
|
|
19
|
+
while ! supervisorctl status >/dev/null 2>&1; do sleep 1; done
|
|
20
|
+
|
|
21
|
+
# Boot the mDNS stack
|
|
22
|
+
echo '# Start the mDNS stack'
|
|
23
|
+
sudo supervisorctl start dbus avahi
|
|
24
|
+
echo
|
|
25
|
+
|
|
26
|
+
function watch-make-test()
|
|
27
|
+
{
|
|
28
|
+
while [ 1 ]; do
|
|
29
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
|
30
|
+
make test
|
|
31
|
+
done
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function watch-make()
|
|
35
|
+
{
|
|
36
|
+
while [ 1 ]; do
|
|
37
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
|
38
|
+
make $@
|
|
39
|
+
done
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function watch-run()
|
|
43
|
+
{
|
|
44
|
+
while [ 1 ]; do
|
|
45
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
|
46
|
+
bash -c "$@"
|
|
47
|
+
done
|
|
48
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
|
|
2
|
+
"\e[1;5C": forward-word
|
|
3
|
+
"\e[1;5D": backward-word
|
|
4
|
+
"\e[5C": forward-word
|
|
5
|
+
"\e[5D": backward-word
|
|
6
|
+
"\e\e[C": forward-word
|
|
7
|
+
"\e\e[D": backward-word
|
|
8
|
+
|
|
9
|
+
# handle common Home/End escape codes
|
|
10
|
+
"\e[1~": beginning-of-line
|
|
11
|
+
"\e[4~": end-of-line
|
|
12
|
+
"\e[7~": beginning-of-line
|
|
13
|
+
"\e[8~": end-of-line
|
|
14
|
+
"\eOH": beginning-of-line
|
|
15
|
+
"\eOF": end-of-line
|
|
16
|
+
"\e[H": beginning-of-line
|
|
17
|
+
"\e[F": end-of-line
|
data/docker-compose.yml
CHANGED
|
@@ -5,34 +5,50 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
5
5
|
require 'factory_bot/instrumentation/version'
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
|
-
spec.name
|
|
9
|
-
spec.version
|
|
10
|
-
spec.authors
|
|
11
|
-
spec.email
|
|
8
|
+
spec.name = 'factory_bot_instrumentation'
|
|
9
|
+
spec.version = FactoryBot::Instrumentation::VERSION
|
|
10
|
+
spec.authors = ['Hermann Mayer']
|
|
11
|
+
spec.email = ['hermann.mayer92@gmail.com']
|
|
12
12
|
|
|
13
|
-
spec.
|
|
14
|
-
spec.
|
|
15
|
-
spec.
|
|
13
|
+
spec.license = 'MIT'
|
|
14
|
+
spec.summary = 'Allow your testers to generate test data on demand'
|
|
15
|
+
spec.description = 'Allow your testers to generate test data on demand'
|
|
16
|
+
|
|
17
|
+
base_uri = "https://github.com/hausgold/#{spec.name}"
|
|
18
|
+
spec.metadata = {
|
|
19
|
+
'homepage_uri' => base_uri,
|
|
20
|
+
'source_code_uri' => base_uri,
|
|
21
|
+
'changelog_uri' => "#{base_uri}/blob/master/CHANGELOG.md",
|
|
22
|
+
'bug_tracker_uri' => "#{base_uri}/issues",
|
|
23
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/#{spec.name}"
|
|
24
|
+
}
|
|
16
25
|
|
|
17
26
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
18
27
|
f.match(%r{^(test|spec|features)/})
|
|
19
28
|
end
|
|
20
|
-
|
|
21
|
-
spec.
|
|
29
|
+
|
|
30
|
+
spec.bindir = 'exe'
|
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
22
32
|
spec.require_paths = ['lib']
|
|
23
33
|
|
|
24
|
-
spec.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
spec.
|
|
28
|
-
spec.
|
|
29
|
-
|
|
30
|
-
spec.add_development_dependency '
|
|
31
|
-
spec.add_development_dependency '
|
|
32
|
-
spec.add_development_dependency '
|
|
33
|
-
spec.add_development_dependency '
|
|
34
|
-
spec.add_development_dependency '
|
|
35
|
-
spec.add_development_dependency '
|
|
36
|
-
spec.add_development_dependency '
|
|
37
|
-
spec.add_development_dependency '
|
|
34
|
+
spec.required_ruby_version = '>= 2.5'
|
|
35
|
+
|
|
36
|
+
spec.add_runtime_dependency 'factory_bot', '~> 6.2'
|
|
37
|
+
spec.add_runtime_dependency 'rails', '>= 5.2'
|
|
38
|
+
spec.add_runtime_dependency 'retries', '>= 0.0.5'
|
|
39
|
+
|
|
40
|
+
spec.add_development_dependency 'appraisal', '~> 2.4'
|
|
41
|
+
spec.add_development_dependency 'bundler', '~> 2.3'
|
|
42
|
+
spec.add_development_dependency 'countless', '~> 1.1'
|
|
43
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.7'
|
|
44
|
+
spec.add_development_dependency 'railties', '>= 5.2'
|
|
45
|
+
spec.add_development_dependency 'rspec-rails', '~> 5.1'
|
|
46
|
+
spec.add_development_dependency 'rubocop', '~> 1.28'
|
|
47
|
+
spec.add_development_dependency 'rubocop-rails', '~> 2.14'
|
|
48
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
|
|
49
|
+
spec.add_development_dependency 'simplecov', '>= 0.22'
|
|
50
|
+
spec.add_development_dependency 'sqlite3', '~> 1.5'
|
|
51
|
+
spec.add_development_dependency 'timecop', '>= 0.9.6'
|
|
52
|
+
spec.add_development_dependency 'yard', '>= 0.9.28'
|
|
53
|
+
spec.add_development_dependency 'yard-activesupport-concern', '>= 0.0.1'
|
|
38
54
|
end
|
data/gemfiles/rails_5.2.gemfile
CHANGED
|
@@ -15,8 +15,13 @@ module FactoryBot
|
|
|
15
15
|
|
|
16
16
|
FactoryBot::Instrumentation.configure do |conf|
|
|
17
17
|
# Set the application name dynamically
|
|
18
|
-
conf.application_name
|
|
19
|
-
|
|
18
|
+
conf.application_name ||= begin
|
|
19
|
+
app_class = Rails.application.class
|
|
20
|
+
parent_name = app_class.module_parent_name \
|
|
21
|
+
if app_class.respond_to?(:module_parent_name)
|
|
22
|
+
parent_name ||= app_class.parent_name
|
|
23
|
+
parent_name.titleize
|
|
24
|
+
end
|
|
20
25
|
end
|
|
21
26
|
end
|
|
22
27
|
end
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module FactoryBot
|
|
4
|
+
# The gem version details.
|
|
4
5
|
module Instrumentation
|
|
5
|
-
|
|
6
|
+
# The version of the +factory_bot_instrumentation+ gem
|
|
7
|
+
VERSION = '1.0.1'
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
# Returns the version of gem as a string.
|
|
11
|
+
#
|
|
12
|
+
# @return [String] the gem version as string
|
|
13
|
+
def version
|
|
14
|
+
VERSION
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Returns the version of the gem as a +Gem::Version+.
|
|
18
|
+
#
|
|
19
|
+
# @return [Gem::Version] the gem version as object
|
|
20
|
+
def gem_version
|
|
21
|
+
Gem::Version.new VERSION
|
|
22
|
+
end
|
|
23
|
+
end
|
|
6
24
|
end
|
|
7
25
|
end
|
metadata
CHANGED
|
@@ -1,207 +1,251 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: factory_bot_instrumentation
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hermann Mayer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-02-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: factory_bot
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '6.2'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '6.2'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rails
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
16
30
|
requirements:
|
|
17
31
|
- - ">="
|
|
18
32
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
33
|
+
version: '5.2'
|
|
20
34
|
type: :runtime
|
|
21
35
|
prerelease: false
|
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
37
|
requirements:
|
|
24
38
|
- - ">="
|
|
25
39
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
40
|
+
version: '5.2'
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
42
|
+
name: retries
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
30
44
|
requirements:
|
|
31
45
|
- - ">="
|
|
32
46
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
47
|
+
version: 0.0.5
|
|
34
48
|
type: :runtime
|
|
35
49
|
prerelease: false
|
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
51
|
requirements:
|
|
38
52
|
- - ">="
|
|
39
53
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
54
|
+
version: 0.0.5
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: appraisal
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
44
58
|
requirements:
|
|
45
|
-
- - "
|
|
59
|
+
- - "~>"
|
|
46
60
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
61
|
+
version: '2.4'
|
|
48
62
|
type: :development
|
|
49
63
|
prerelease: false
|
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
65
|
requirements:
|
|
52
|
-
- - "
|
|
66
|
+
- - "~>"
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
68
|
+
version: '2.4'
|
|
55
69
|
- !ruby/object:Gem::Dependency
|
|
56
70
|
name: bundler
|
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
|
58
72
|
requirements:
|
|
59
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
60
74
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
62
|
-
|
|
75
|
+
version: '2.3'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
63
81
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: '3'
|
|
82
|
+
version: '2.3'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: countless
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.1'
|
|
65
90
|
type: :development
|
|
66
91
|
prerelease: false
|
|
67
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
93
|
requirements:
|
|
69
|
-
- - "
|
|
94
|
+
- - "~>"
|
|
70
95
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: '1.
|
|
72
|
-
|
|
96
|
+
version: '1.1'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: guard-rspec
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
73
102
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '
|
|
103
|
+
version: '4.7'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '4.7'
|
|
75
111
|
- !ruby/object:Gem::Dependency
|
|
76
112
|
name: railties
|
|
77
113
|
requirement: !ruby/object:Gem::Requirement
|
|
78
114
|
requirements:
|
|
79
115
|
- - ">="
|
|
80
116
|
- !ruby/object:Gem::Version
|
|
81
|
-
version:
|
|
82
|
-
- - "<"
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: '6.1'
|
|
117
|
+
version: '5.2'
|
|
85
118
|
type: :development
|
|
86
119
|
prerelease: false
|
|
87
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
88
121
|
requirements:
|
|
89
122
|
- - ">="
|
|
90
123
|
- !ruby/object:Gem::Version
|
|
91
|
-
version:
|
|
92
|
-
- - "<"
|
|
93
|
-
- !ruby/object:Gem::Version
|
|
94
|
-
version: '6.1'
|
|
124
|
+
version: '5.2'
|
|
95
125
|
- !ruby/object:Gem::Dependency
|
|
96
126
|
name: rspec-rails
|
|
97
127
|
requirement: !ruby/object:Gem::Requirement
|
|
98
128
|
requirements:
|
|
99
129
|
- - "~>"
|
|
100
130
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: '
|
|
131
|
+
version: '5.1'
|
|
102
132
|
type: :development
|
|
103
133
|
prerelease: false
|
|
104
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
135
|
requirements:
|
|
106
136
|
- - "~>"
|
|
107
137
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: '
|
|
138
|
+
version: '5.1'
|
|
109
139
|
- !ruby/object:Gem::Dependency
|
|
110
140
|
name: rubocop
|
|
111
141
|
requirement: !ruby/object:Gem::Requirement
|
|
112
142
|
requirements:
|
|
113
143
|
- - "~>"
|
|
114
144
|
- !ruby/object:Gem::Version
|
|
115
|
-
version:
|
|
145
|
+
version: '1.28'
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '1.28'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: rubocop-rails
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '2.14'
|
|
116
160
|
type: :development
|
|
117
161
|
prerelease: false
|
|
118
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
119
163
|
requirements:
|
|
120
164
|
- - "~>"
|
|
121
165
|
- !ruby/object:Gem::Version
|
|
122
|
-
version:
|
|
166
|
+
version: '2.14'
|
|
123
167
|
- !ruby/object:Gem::Dependency
|
|
124
168
|
name: rubocop-rspec
|
|
125
169
|
requirement: !ruby/object:Gem::Requirement
|
|
126
170
|
requirements:
|
|
127
171
|
- - "~>"
|
|
128
172
|
- !ruby/object:Gem::Version
|
|
129
|
-
version: '
|
|
173
|
+
version: '2.10'
|
|
130
174
|
type: :development
|
|
131
175
|
prerelease: false
|
|
132
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
133
177
|
requirements:
|
|
134
178
|
- - "~>"
|
|
135
179
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: '
|
|
180
|
+
version: '2.10'
|
|
137
181
|
- !ruby/object:Gem::Dependency
|
|
138
182
|
name: simplecov
|
|
139
183
|
requirement: !ruby/object:Gem::Requirement
|
|
140
184
|
requirements:
|
|
141
|
-
- - "
|
|
185
|
+
- - ">="
|
|
142
186
|
- !ruby/object:Gem::Version
|
|
143
|
-
version: '0.
|
|
187
|
+
version: '0.22'
|
|
144
188
|
type: :development
|
|
145
189
|
prerelease: false
|
|
146
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
147
191
|
requirements:
|
|
148
|
-
- - "
|
|
192
|
+
- - ">="
|
|
149
193
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: '0.
|
|
194
|
+
version: '0.22'
|
|
151
195
|
- !ruby/object:Gem::Dependency
|
|
152
196
|
name: sqlite3
|
|
153
197
|
requirement: !ruby/object:Gem::Requirement
|
|
154
198
|
requirements:
|
|
155
199
|
- - "~>"
|
|
156
200
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 1.
|
|
201
|
+
version: '1.5'
|
|
158
202
|
type: :development
|
|
159
203
|
prerelease: false
|
|
160
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
161
205
|
requirements:
|
|
162
206
|
- - "~>"
|
|
163
207
|
- !ruby/object:Gem::Version
|
|
164
|
-
version: 1.
|
|
208
|
+
version: '1.5'
|
|
165
209
|
- !ruby/object:Gem::Dependency
|
|
166
210
|
name: timecop
|
|
167
211
|
requirement: !ruby/object:Gem::Requirement
|
|
168
212
|
requirements:
|
|
169
|
-
- - "
|
|
213
|
+
- - ">="
|
|
170
214
|
- !ruby/object:Gem::Version
|
|
171
|
-
version: 0.9.
|
|
215
|
+
version: 0.9.6
|
|
172
216
|
type: :development
|
|
173
217
|
prerelease: false
|
|
174
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
175
219
|
requirements:
|
|
176
|
-
- - "
|
|
220
|
+
- - ">="
|
|
177
221
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 0.9.
|
|
222
|
+
version: 0.9.6
|
|
179
223
|
- !ruby/object:Gem::Dependency
|
|
180
224
|
name: yard
|
|
181
225
|
requirement: !ruby/object:Gem::Requirement
|
|
182
226
|
requirements:
|
|
183
|
-
- - "
|
|
227
|
+
- - ">="
|
|
184
228
|
- !ruby/object:Gem::Version
|
|
185
|
-
version: 0.9.
|
|
229
|
+
version: 0.9.28
|
|
186
230
|
type: :development
|
|
187
231
|
prerelease: false
|
|
188
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
189
233
|
requirements:
|
|
190
|
-
- - "
|
|
234
|
+
- - ">="
|
|
191
235
|
- !ruby/object:Gem::Version
|
|
192
|
-
version: 0.9.
|
|
236
|
+
version: 0.9.28
|
|
193
237
|
- !ruby/object:Gem::Dependency
|
|
194
238
|
name: yard-activesupport-concern
|
|
195
239
|
requirement: !ruby/object:Gem::Requirement
|
|
196
240
|
requirements:
|
|
197
|
-
- - "
|
|
241
|
+
- - ">="
|
|
198
242
|
- !ruby/object:Gem::Version
|
|
199
243
|
version: 0.0.1
|
|
200
244
|
type: :development
|
|
201
245
|
prerelease: false
|
|
202
246
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
247
|
requirements:
|
|
204
|
-
- - "
|
|
248
|
+
- - ">="
|
|
205
249
|
- !ruby/object:Gem::Version
|
|
206
250
|
version: 0.0.1
|
|
207
251
|
description: Allow your testers to generate test data on demand
|
|
@@ -221,7 +265,10 @@ files:
|
|
|
221
265
|
- ".yardopts"
|
|
222
266
|
- Appraisals
|
|
223
267
|
- CHANGELOG.md
|
|
268
|
+
- Dockerfile
|
|
269
|
+
- Envfile
|
|
224
270
|
- Gemfile
|
|
271
|
+
- Guardfile
|
|
225
272
|
- LICENSE
|
|
226
273
|
- Makefile
|
|
227
274
|
- README.md
|
|
@@ -246,6 +293,9 @@ files:
|
|
|
246
293
|
- app/views/factory_bot_instrumentation/_styles.html.erb
|
|
247
294
|
- app/views/layouts/factory_bot/instrumentation/application.html.erb
|
|
248
295
|
- bin/rails
|
|
296
|
+
- config/docker/.bash_profile
|
|
297
|
+
- config/docker/.bashrc
|
|
298
|
+
- config/docker/.inputrc
|
|
249
299
|
- config/instrumentation.yml
|
|
250
300
|
- config/routes.rb
|
|
251
301
|
- doc/assets/blocks.png
|
|
@@ -255,16 +305,20 @@ files:
|
|
|
255
305
|
- doc/assets/regular.png
|
|
256
306
|
- docker-compose.yml
|
|
257
307
|
- factory_bot_instrumentation.gemspec
|
|
258
|
-
- gemfiles/rails_5.0.gemfile
|
|
259
|
-
- gemfiles/rails_5.1.gemfile
|
|
260
308
|
- gemfiles/rails_5.2.gemfile
|
|
261
309
|
- lib/factory_bot/instrumentation/configuration.rb
|
|
262
310
|
- lib/factory_bot/instrumentation/engine.rb
|
|
263
311
|
- lib/factory_bot/instrumentation/version.rb
|
|
264
312
|
- lib/factory_bot_instrumentation.rb
|
|
265
|
-
homepage:
|
|
266
|
-
licenses:
|
|
267
|
-
|
|
313
|
+
homepage:
|
|
314
|
+
licenses:
|
|
315
|
+
- MIT
|
|
316
|
+
metadata:
|
|
317
|
+
homepage_uri: https://github.com/hausgold/factory_bot_instrumentation
|
|
318
|
+
source_code_uri: https://github.com/hausgold/factory_bot_instrumentation
|
|
319
|
+
changelog_uri: https://github.com/hausgold/factory_bot_instrumentation/blob/master/CHANGELOG.md
|
|
320
|
+
bug_tracker_uri: https://github.com/hausgold/factory_bot_instrumentation/issues
|
|
321
|
+
documentation_uri: https://www.rubydoc.info/gems/factory_bot_instrumentation
|
|
268
322
|
post_install_message:
|
|
269
323
|
rdoc_options: []
|
|
270
324
|
require_paths:
|
|
@@ -273,14 +327,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
273
327
|
requirements:
|
|
274
328
|
- - ">="
|
|
275
329
|
- !ruby/object:Gem::Version
|
|
276
|
-
version: '
|
|
330
|
+
version: '2.5'
|
|
277
331
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
332
|
requirements:
|
|
279
333
|
- - ">="
|
|
280
334
|
- !ruby/object:Gem::Version
|
|
281
335
|
version: '0'
|
|
282
336
|
requirements: []
|
|
283
|
-
rubygems_version: 3.
|
|
337
|
+
rubygems_version: 3.3.8
|
|
284
338
|
signing_key:
|
|
285
339
|
specification_version: 4
|
|
286
340
|
summary: Allow your testers to generate test data on demand
|
data/gemfiles/rails_5.0.gemfile
DELETED