factory_bot_instrumentation 0.2.0 → 0.3.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/.rubocop.yml +1 -1
- data/.travis.yml +0 -1
- data/Appraisals +1 -0
- data/CHANGELOG.md +6 -0
- data/README.md +16 -8
- data/Rakefile +19 -1
- data/app/controllers/factory_bot/instrumentation/root_controller.rb +7 -1
- data/docker-compose.yml +1 -1
- data/factory_bot_instrumentation.gemspec +2 -2
- data/gemfiles/rails_4.gemfile +1 -0
- data/lib/factory_bot/instrumentation/version.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdad0623324b5fb131122851c3cfb7862cc7c69e5ed6d545b49cd4ffb953ff14
|
4
|
+
data.tar.gz: 54f7c93ae468fa246e118bdc47cefdf4a4db0ac31b4e1754bc99dd72364997bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c05415a4d45673ccf2857b1747896c8581c5c726d54ebb0d7dc59788bcbbef4791762b2099daa7e9b09b45e523cc709260e0884b52aca6d62b5c3a7375056fc2
|
7
|
+
data.tar.gz: 36907744056f4c477ff9b8fdc43f69a2560d757d70f9b43d3fcef7bf3493a2fef11084b069d84662ce8633c5c12c45d70cc12d177757f43989121be60b1deb32
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -48,6 +48,14 @@ Add this line to your application's Gemfile:
|
|
48
48
|
gem 'factory_bot_instrumentation'
|
49
49
|
```
|
50
50
|
|
51
|
+
**Heads up!** In case you use Rails 4.2, you need to add the
|
52
|
+
[rails-api](https://github.com/rails-api/rails-api) gem as well, because this
|
53
|
+
feature was first introduced with Rails 5.0.
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
gem 'rails-api'
|
57
|
+
```
|
58
|
+
|
51
59
|
And then execute:
|
52
60
|
|
53
61
|
```bash
|
@@ -107,20 +115,20 @@ FactoryBot.define do
|
|
107
115
|
|
108
116
|
trait :with_friend do
|
109
117
|
after(:create) do |user, elevator|
|
110
|
-
FactoryBot.create(:
|
111
|
-
|
112
|
-
|
113
|
-
|
118
|
+
FactoryBot.create(:user,
|
119
|
+
*elevator.friend_traits.map(&:to_sym),
|
120
|
+
friends: [user],
|
121
|
+
**elevator.friend_overwrites)
|
114
122
|
end
|
115
123
|
end
|
116
124
|
|
117
125
|
trait :with_friends do
|
118
126
|
after(:create) do |user, elevator|
|
119
127
|
FactoryBot.create_list(:user,
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
128
|
+
elevator.friends_amount,
|
129
|
+
*elevator.friend_traits.map(&:to_sym),
|
130
|
+
friends: [user],
|
131
|
+
**elevator.friend_overwrites)
|
124
132
|
end
|
125
133
|
end
|
126
134
|
end
|
data/Rakefile
CHANGED
@@ -1,8 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# Configure Rails Environment
|
4
|
+
ENV['RAILS_ENV'] = 'test'
|
5
|
+
ENV['DISABLE_DATABASE_ENVIRONMENT_CHECK'] = '1'
|
6
|
+
|
7
|
+
require 'bundler/setup'
|
3
8
|
require 'bundler/gem_tasks'
|
4
9
|
require 'rspec/core/rake_task'
|
5
10
|
|
6
|
-
|
11
|
+
APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
|
12
|
+
load 'rails/tasks/engine.rake'
|
13
|
+
|
14
|
+
Bundler::GemHelper.install_tasks
|
15
|
+
|
16
|
+
Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each {|f| load f }
|
17
|
+
|
18
|
+
require 'rspec/core'
|
19
|
+
require 'rspec/core/rake_task'
|
20
|
+
|
21
|
+
desc 'Run all specs in spec directory (excluding plugin specs)'
|
22
|
+
RSpec::Core::RakeTask.new(spec: [
|
23
|
+
'db:drop', 'db:create', 'db:migrate', 'db:setup'
|
24
|
+
])
|
7
25
|
|
8
26
|
task default: :spec
|
@@ -56,7 +56,13 @@ module FactoryBot::Instrumentation
|
|
56
56
|
# @return [Array<Mixed>] the FactoryBot options
|
57
57
|
def factory_params
|
58
58
|
data = params.permit(:factory, traits: [])
|
59
|
-
|
59
|
+
|
60
|
+
if Rails::VERSION::MAJOR >= 5
|
61
|
+
overwrite = params.to_unsafe_h.fetch(:overwrite, {})
|
62
|
+
.deep_symbolize_keys
|
63
|
+
else
|
64
|
+
overwrite = params.fetch('overwrite', {}).deep_symbolize_keys
|
65
|
+
end
|
60
66
|
|
61
67
|
[
|
62
68
|
data.fetch(:factory).to_sym,
|
data/docker-compose.yml
CHANGED
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_runtime_dependency 'factory_bot'
|
26
26
|
|
27
27
|
spec.add_development_dependency 'bundler', '>= 1.16', '< 3'
|
28
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
28
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.8'
|
29
29
|
spec.add_development_dependency 'simplecov', '~> 0.15'
|
30
30
|
spec.add_development_dependency 'timecop', '~> 0.9.1'
|
31
|
-
spec.add_development_dependency 'sqlite3'
|
31
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3.6'
|
32
32
|
spec.add_development_dependency 'appraisal'
|
33
33
|
end
|
data/gemfiles/rails_4.gemfile
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: factory_bot_instrumentation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hermann Mayer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -59,19 +59,19 @@ dependencies:
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '3'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name: rspec
|
62
|
+
name: rspec-rails
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '3.
|
67
|
+
version: '3.8'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '3.
|
74
|
+
version: '3.8'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: simplecov
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,16 +104,16 @@ dependencies:
|
|
104
104
|
name: sqlite3
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- - "
|
107
|
+
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
109
|
+
version: 1.3.6
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - "
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
116
|
+
version: 1.3.6
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: appraisal
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
203
|
- !ruby/object:Gem::Version
|
204
204
|
version: '0'
|
205
205
|
requirements: []
|
206
|
-
rubygems_version: 3.0.
|
206
|
+
rubygems_version: 3.0.4
|
207
207
|
signing_key:
|
208
208
|
specification_version: 4
|
209
209
|
summary: Allow your testers to generate test data on demand
|