fixturizer 0.1.0 → 0.4.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/.debride_whitelist +7 -0
- data/.rubocop.yml +80 -0
- data/Gemfile +4 -4
- data/Rakefile +58 -3
- data/VERSION +1 -0
- data/bin/console +4 -3
- data/bom.xml +802 -0
- data/fixturizer.gemspec +34 -16
- data/lib/dependencies.rb +9 -0
- data/lib/fixturizer/adapters/init.rb +3 -0
- data/lib/fixturizer/adapters/mongoid.rb +52 -0
- data/lib/fixturizer/configuration.rb +22 -0
- data/lib/fixturizer/engines/datasets.rb +46 -0
- data/lib/fixturizer/engines/init.rb +3 -0
- data/lib/fixturizer/engines/models.rb +73 -0
- data/lib/fixturizer/engines/records.rb +23 -0
- data/lib/fixturizer/rake/manage.rb +3 -1
- data/lib/fixturizer/rake/rules/database.rake +12 -9
- data/lib/fixturizer/rspec/helpers/database.rb +27 -0
- data/lib/fixturizer/rspec/helpers/datasets.rb +19 -0
- data/lib/fixturizer/rspec/helpers/records.rb +19 -0
- data/lib/fixturizer/rspec/helpers/serializer.rb +25 -0
- data/lib/fixturizer/rspec/matchers/database_be_correctly_dropped.rb +16 -0
- data/lib/fixturizer/rspec/matchers/database_be_correctly_populated.rb +16 -0
- data/lib/fixturizer/rspec/prepare.rb +6 -0
- data/lib/fixturizer/serializers/init.rb +30 -0
- data/lib/fixturizer/serializers/json.rb +18 -0
- data/lib/fixturizer/serializers/yaml.rb +15 -0
- data/lib/fixturizer/services.rb +47 -0
- data/lib/fixturizer/settings.rb +12 -0
- data/lib/fixturizer/version.rb +5 -1
- data/lib/fixturizer.rb +9 -109
- data/samples/.rspec +3 -0
- data/samples/Gemfile +17 -0
- data/samples/Rakefile +21 -0
- data/samples/app.rb +43 -0
- data/samples/config/rules.yml +52 -0
- data/samples/config.ru +10 -0
- data/samples/spec/app_spec.rb +134 -0
- data/samples/spec/spec_helper.rb +17 -0
- metadata +212 -8
data/lib/fixturizer.rb
CHANGED
@@ -1,109 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
model.create!(item) unless model.where(model_infos[:unicity] => item[model_infos[:unicity]]).exists?
|
11
|
-
end
|
12
|
-
|
13
|
-
def binder(item:)
|
14
|
-
result = Hash::new
|
15
|
-
item.each do |element|
|
16
|
-
model_class = @models[element[:collection]][:class]
|
17
|
-
model = Object.const_get(model_class)
|
18
|
-
if element[:index].include?(:at)
|
19
|
-
result[element[:fkey]] = model.all[element[:index][:at] - 1][element[:pkey]].to_s
|
20
|
-
elsif element[:index].include?(:search_key)
|
21
|
-
raise 'Links configuration failure' unless element[:index].include?(:for)
|
22
|
-
|
23
|
-
result[element[:fkey]] = model.where({ element[:index][:search_key] => element[:index][:for] }).first[element[:pkey]]
|
24
|
-
else
|
25
|
-
raise 'Links configuration failure'
|
26
|
-
end
|
27
|
-
end
|
28
|
-
return result
|
29
|
-
end
|
30
|
-
|
31
|
-
def drop_database
|
32
|
-
::Mongoid.purge!
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
class Engine
|
38
|
-
ADAPTERS = {:mongoid => ::Fixturizer::Adapters::Mongoid}
|
39
|
-
|
40
|
-
attr_reader :generated
|
41
|
-
|
42
|
-
def initialize(filename:)
|
43
|
-
@rules = read_rules(filename: filename)
|
44
|
-
@generations = @rules[:fixtures][:rules][:generation]
|
45
|
-
@models = @rules[:fixtures][:models][:definition]
|
46
|
-
@order = @rules[:fixtures][:models].include?(:order) ? @rules[:fixtures][:models][:order] : false
|
47
|
-
@generated = Hash::new
|
48
|
-
self.extend ADAPTERS[@rules[:fixtures][:type]]
|
49
|
-
end
|
50
|
-
|
51
|
-
def generate_from(rule:)
|
52
|
-
rule = @generations[rule]
|
53
|
-
myproc = eval("lambda { #{rule[:proc]} } ")
|
54
|
-
return myproc.call
|
55
|
-
end
|
56
|
-
|
57
|
-
def link_data
|
58
|
-
end
|
59
|
-
|
60
|
-
def generate_data
|
61
|
-
@generated.clear
|
62
|
-
raise 'Order field format missmatch, not an array' unless @order == false || @order.class == Array
|
63
|
-
|
64
|
-
if @order then
|
65
|
-
raise 'Order field size missmatch for configurate definitions' unless @order.size == @models.size
|
66
|
-
|
67
|
-
@order.each do |item|
|
68
|
-
raise "Definition #{item} not found in models definitions" unless @models.include?(item)
|
69
|
-
|
70
|
-
@generated[item] = generate_collection(name: item)
|
71
|
-
end
|
72
|
-
else
|
73
|
-
@models.each do |key, _value|
|
74
|
-
@generated[key] = generate_collection(name: key)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def inject_data
|
80
|
-
raise 'Data not generated' if @generated.empty?
|
81
|
-
|
82
|
-
@generated.each do |key, value|
|
83
|
-
model_infos = @models[key].dup
|
84
|
-
model_infos.delete(:collection)
|
85
|
-
value.each do |item|
|
86
|
-
item[:attributes].merge!(self.binder(item: item[:links])) if item.include?(:links)
|
87
|
-
self.injector model_infos: model_infos, item: item[:attributes]
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
private
|
93
|
-
def read_rules(filename:)
|
94
|
-
return YAML.load(File::readlines(filename).join)
|
95
|
-
end
|
96
|
-
|
97
|
-
def generate_collection(name:)
|
98
|
-
data = @models[name][:collection].dup
|
99
|
-
data.each do |item|
|
100
|
-
|
101
|
-
item[:attributes].each do |key, _value|
|
102
|
-
item[:attributes][key] = generate_from(rule: @models[name][:rules][key]) if @models[name].include?(:rules) && @models[name][:rules].include?(key)
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
return data
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'dependencies'
|
4
|
+
require_relative 'fixturizer/settings'
|
5
|
+
require_relative 'fixturizer/configuration'
|
6
|
+
require_relative 'fixturizer/adapters/init'
|
7
|
+
require_relative 'fixturizer/engines/init'
|
8
|
+
require_relative 'fixturizer/serializers/init'
|
9
|
+
require_relative 'fixturizer/services'
|
data/samples/.rspec
ADDED
data/samples/Gemfile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
gem 'puma', '~> 6.4'
|
6
|
+
gem 'rackup', '~> 2.1'
|
7
|
+
gem 'sinatra', '~> 4.0.0'
|
8
|
+
|
9
|
+
group :test, :development do
|
10
|
+
gem 'fixturizer', '~> 0.1.0'
|
11
|
+
gem 'rack-rest-rspec', '~> 0.0.3'
|
12
|
+
gem 'rack-test', '~> 2.0.2'
|
13
|
+
gem 'rake', '~> 13.0'
|
14
|
+
gem 'rspec', '~> 3.10.0'
|
15
|
+
end
|
16
|
+
|
17
|
+
gem 'mongoid', '~> 9.0'
|
data/samples/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require_relative 'app'
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new do |task|
|
7
|
+
task.pattern = 'spec/**/*_spec.rb'
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'List defined routes'
|
11
|
+
task :routes do
|
12
|
+
Application.routes.map do |method, routes|
|
13
|
+
routes.map { |r| r.first.to_s }.map do |route|
|
14
|
+
"#{method.rjust(7, ' ')} #{route}"
|
15
|
+
end
|
16
|
+
end.flatten.sort.each do |route|
|
17
|
+
puts route
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
require 'fixturizer/rake/manage'
|
data/samples/app.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'sinatra'
|
4
|
+
require 'mongoid'
|
5
|
+
|
6
|
+
Mongoid.configure do |config|
|
7
|
+
config.clients.default = {
|
8
|
+
uri: 'mongodb://localhost:27017/testbase'
|
9
|
+
|
10
|
+
}
|
11
|
+
config.belongs_to_required_by_default = false
|
12
|
+
end
|
13
|
+
|
14
|
+
class Post
|
15
|
+
include Mongoid::Document
|
16
|
+
field :title, type: String
|
17
|
+
field :body, type: String
|
18
|
+
has_many :comments
|
19
|
+
end
|
20
|
+
|
21
|
+
class Comment
|
22
|
+
include Mongoid::Document
|
23
|
+
field :name, type: String
|
24
|
+
field :message, type: String
|
25
|
+
belongs_to :post
|
26
|
+
end
|
27
|
+
|
28
|
+
class Application < Sinatra::Base
|
29
|
+
before do
|
30
|
+
content_type 'application/json'
|
31
|
+
end
|
32
|
+
|
33
|
+
get '/posts' do
|
34
|
+
Post.all.to_json
|
35
|
+
end
|
36
|
+
|
37
|
+
get '/posts/:post_id' do |post_id|
|
38
|
+
post = Post.find(post_id)
|
39
|
+
post.attributes.merge(
|
40
|
+
comments: post.comments
|
41
|
+
).to_json
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
:fixtures:
|
3
|
+
:datasets:
|
4
|
+
:myset:
|
5
|
+
:definition:
|
6
|
+
- :name: test dataset
|
7
|
+
:list:
|
8
|
+
- 1
|
9
|
+
- :body:
|
10
|
+
- 3
|
11
|
+
:nested:
|
12
|
+
:body:
|
13
|
+
- "two"
|
14
|
+
:rules:
|
15
|
+
:body: :body
|
16
|
+
:rules:
|
17
|
+
:body:
|
18
|
+
:proc: "SecureRandom.urlsafe_base64(64)"
|
19
|
+
:preserve_body:
|
20
|
+
:preserve: true
|
21
|
+
:proc: "SecureRandom.urlsafe_base64(64)"
|
22
|
+
:models:
|
23
|
+
:type: :mongoid
|
24
|
+
:order:
|
25
|
+
- :posts
|
26
|
+
- :comments
|
27
|
+
:definitions:
|
28
|
+
:posts:
|
29
|
+
:rules:
|
30
|
+
:body: :preserve_body
|
31
|
+
:class: Post
|
32
|
+
:unicity: :id
|
33
|
+
:collection:
|
34
|
+
- :attributes:
|
35
|
+
:title: First post Title
|
36
|
+
:body: First Post Body
|
37
|
+
- :attributes:
|
38
|
+
:title: Second post Title
|
39
|
+
:body:
|
40
|
+
:comments:
|
41
|
+
:class: Comment
|
42
|
+
:unicity: :id
|
43
|
+
:collection:
|
44
|
+
- :attributes:
|
45
|
+
:name: test name
|
46
|
+
:message: test message
|
47
|
+
:links:
|
48
|
+
- :collection: :posts
|
49
|
+
:index:
|
50
|
+
:at: 1
|
51
|
+
:fkey: :post
|
52
|
+
:pkey: :id
|
data/samples/config.ru
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe 'Test Fixturizer' do
|
4
|
+
context 'Records : test fixturizing' do
|
5
|
+
it 'must be possible to apply non preserving rule by definition' do
|
6
|
+
value = 'placeholder'
|
7
|
+
rule = { proc: 'SecureRandom.urlsafe_base64(64)' }
|
8
|
+
expect(record.apply(value:, rule:).size).to be(86)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'must be possible to apply preserving rule by definition' do
|
12
|
+
value = 'present value'
|
13
|
+
rule = { proc: 'SecureRandom.urlsafe_base64(64)', preserve: true }
|
14
|
+
expect(record.apply(value:, rule:)).to be(value)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'must be possible to apply rule by name (in configuration)' do
|
18
|
+
value = 'present value'
|
19
|
+
rule = :body
|
20
|
+
expect(record.apply(value:, rule:).size).to be(86)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'Datasets : test fixturizing' do
|
25
|
+
it 'must be possible to generate result for dataset by definition with named rule' do
|
26
|
+
dataset = { definition: { name: 'test dataset', body: 'placeholder' }, rules: { body: :body } }
|
27
|
+
result = datasets.generate(dataset:)
|
28
|
+
expect(result[:body].size).to be(86)
|
29
|
+
expect(result[:name]).to eq('test dataset')
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'must be possible to generate result for dataset by definition with defined rule' do
|
33
|
+
dataset = { definition: { name: 'test dataset', body: 'placeholder' },
|
34
|
+
rules: { body: { proc: 'SecureRandom.urlsafe_base64(64)' } } }
|
35
|
+
result = datasets.generate(dataset:)
|
36
|
+
expect(result[:body].size).to be(86)
|
37
|
+
expect(result[:name]).to eq('test dataset')
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'must be possible to generate result for dataset by definition with named rule and nil field' do
|
41
|
+
dataset = { definition: { name: 'test dataset', body: nil },
|
42
|
+
rules: { body: :body } }
|
43
|
+
result = datasets.generate(dataset:)
|
44
|
+
expect(result[:body].size).to be(86)
|
45
|
+
expect(result[:name]).to eq('test dataset')
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'must be possible to generate result for dataset by definition with named preserving rule' do
|
49
|
+
dataset = { definition: { name: 'test dataset', body: 'test preserved' },
|
50
|
+
rules: { body: :preserve_body } }
|
51
|
+
result = datasets.generate(dataset:)
|
52
|
+
expect(result[:body]).to eq('test preserved')
|
53
|
+
expect(result[:name]).to eq('test dataset')
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'must be possible to generate result for nested dataset by definition with named rule' do
|
57
|
+
dataset = { definition: { name: 'test dataset', nested: { body: nil } },
|
58
|
+
rules: { body: :body } }
|
59
|
+
result = datasets.generate(dataset:)
|
60
|
+
expect(result[:nested][:body].size).to be(86)
|
61
|
+
expect(result[:name]).to eq('test dataset')
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'must be possible to generate result for complex dataset by definition with named rule' do
|
65
|
+
dataset = { definition: { name: 'test dataset', list: [1, { body: nil }, 3], nested: { body: nil } },
|
66
|
+
rules: { body: :body } }
|
67
|
+
result = datasets.generate(dataset:)
|
68
|
+
expect(result[:nested][:body].size).to be(86)
|
69
|
+
expect(result[:list].size).to be(3)
|
70
|
+
expect(result[:list][1][:body].size).to be(86)
|
71
|
+
expect(result[:name]).to eq('test dataset')
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'must be possible to generate result for complex dataset by name with named rule' do
|
75
|
+
result = datasets.generate dataset: :myset
|
76
|
+
expect(result[0][:nested][:body].size).to be(86)
|
77
|
+
expect(result[0][:list].size).to be(3)
|
78
|
+
expect(result[0][:list][1][:body].size).to be(86)
|
79
|
+
expect(result[0][:name]).to eq('test dataset')
|
80
|
+
expect(result.last).to eq('two')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context 'Database : drop and populate' do
|
85
|
+
it 'must be possible to drop database with helper ' do
|
86
|
+
expect(database.drop).to be true
|
87
|
+
end
|
88
|
+
it 'must be possible to populate database with helper ' do
|
89
|
+
expect(database.populate).to be true
|
90
|
+
end
|
91
|
+
|
92
|
+
it { expect(database).to be_correctly_dropped }
|
93
|
+
it { expect(database).to be_correctly_populated }
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'Serializers : test ' do
|
97
|
+
it 'must be possible to serialize data to JSON' do
|
98
|
+
data = { name: 'test data', body: 'placeholder' }
|
99
|
+
result = serialize.to(format: :json, data:)
|
100
|
+
expect(result).to be_an_instance_of(String)
|
101
|
+
expect(result.size).to eq(51)
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'must be possible to serialize data to JSON in raw format' do
|
105
|
+
data = { name: 'test data', body: 'placeholder' }
|
106
|
+
result = serialize.to format: :json, data:, raw: true
|
107
|
+
expect(result).to be_an_instance_of(String)
|
108
|
+
expect(result.size).to eq(41)
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'must be possible to serialize data to JSON and write in a file' do
|
112
|
+
data = { name: 'test data', body: 'placeholder' }
|
113
|
+
filename = '/tmp/test.json'
|
114
|
+
serialize.to format: :json, data:, to_file: filename
|
115
|
+
expect(File.exist?(filename)).to eq true
|
116
|
+
File.unlink(filename)
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'must be possible to serialize data to YAML' do
|
120
|
+
data = { name: 'test data', body: 'placeholder' }
|
121
|
+
result = serialize.to(format: :yaml, data:)
|
122
|
+
expect(result).to be_an_instance_of(String)
|
123
|
+
expect(result.size).to eq(40)
|
124
|
+
end
|
125
|
+
|
126
|
+
it 'must be possible to serialize data to YAML and write in a file' do
|
127
|
+
data = { name: 'test data', body: 'placeholder' }
|
128
|
+
filename = '/tmp/test.yml'
|
129
|
+
serialize.to format: :yaml, data:, to_file: filename
|
130
|
+
expect(File.exist?(filename)).to eq true
|
131
|
+
File.unlink(filename)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'fixturizer/rspec/prepare'
|
5
|
+
require_relative '../app'
|
6
|
+
|
7
|
+
RSpec.configure do |config|
|
8
|
+
# Enable flags like --only-failures and --next-failure
|
9
|
+
config.example_status_persistence_file_path = '.rspec_status'
|
10
|
+
|
11
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
12
|
+
config.disable_monkey_patching!
|
13
|
+
|
14
|
+
config.expect_with :rspec do |c|
|
15
|
+
c.syntax = :expect
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,43 +1,247 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fixturizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Pierre
|
7
|
+
- Pierre ALPHONSE
|
8
|
+
- Romain GEORGES
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
|
12
|
+
date: 2024-05-16 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: mongoid
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '9.0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '9.0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '13.0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '13.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rspec
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 3.10.0
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 3.10.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: version
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.1'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.1'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: bundle-audit
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.1.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.1.0
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: code_statistics
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.2.13
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.2.13
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: cyclonedx-ruby
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '1.1'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '1.1'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: debride
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '1.12'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '1.12'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: diff-lcs
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 1.5.1
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - "~>"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 1.5.1
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: rubocop
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - "~>"
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '1.32'
|
147
|
+
type: :development
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - "~>"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '1.32'
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
name: yard
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "~>"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 0.9.27
|
161
|
+
type: :development
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - "~>"
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 0.9.27
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: yard-rspec
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - "~>"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0.1'
|
175
|
+
type: :development
|
176
|
+
prerelease: false
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - "~>"
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0.1'
|
182
|
+
description: Ruby fixturizer tools for applications testing
|
14
183
|
email:
|
15
184
|
- pierre.alphonse@orange.com
|
185
|
+
- romain@ultragreen.net
|
16
186
|
executables: []
|
17
187
|
extensions: []
|
18
188
|
extra_rdoc_files: []
|
19
189
|
files:
|
190
|
+
- ".debride_whitelist"
|
20
191
|
- ".gitignore"
|
21
192
|
- ".rspec"
|
193
|
+
- ".rubocop.yml"
|
22
194
|
- ".travis.yml"
|
23
195
|
- Gemfile
|
24
196
|
- LICENSE.txt
|
25
197
|
- README.md
|
26
198
|
- Rakefile
|
199
|
+
- VERSION
|
27
200
|
- bin/console
|
28
201
|
- bin/setup
|
202
|
+
- bom.xml
|
29
203
|
- fixturizer.gemspec
|
204
|
+
- lib/dependencies.rb
|
30
205
|
- lib/fixturizer.rb
|
206
|
+
- lib/fixturizer/adapters/init.rb
|
207
|
+
- lib/fixturizer/adapters/mongoid.rb
|
208
|
+
- lib/fixturizer/configuration.rb
|
209
|
+
- lib/fixturizer/engines/datasets.rb
|
210
|
+
- lib/fixturizer/engines/init.rb
|
211
|
+
- lib/fixturizer/engines/models.rb
|
212
|
+
- lib/fixturizer/engines/records.rb
|
31
213
|
- lib/fixturizer/rake/manage.rb
|
32
214
|
- lib/fixturizer/rake/rules/database.rake
|
215
|
+
- lib/fixturizer/rspec/helpers/database.rb
|
216
|
+
- lib/fixturizer/rspec/helpers/datasets.rb
|
217
|
+
- lib/fixturizer/rspec/helpers/records.rb
|
218
|
+
- lib/fixturizer/rspec/helpers/serializer.rb
|
219
|
+
- lib/fixturizer/rspec/matchers/database_be_correctly_dropped.rb
|
220
|
+
- lib/fixturizer/rspec/matchers/database_be_correctly_populated.rb
|
221
|
+
- lib/fixturizer/rspec/prepare.rb
|
222
|
+
- lib/fixturizer/serializers/init.rb
|
223
|
+
- lib/fixturizer/serializers/json.rb
|
224
|
+
- lib/fixturizer/serializers/yaml.rb
|
225
|
+
- lib/fixturizer/services.rb
|
226
|
+
- lib/fixturizer/settings.rb
|
33
227
|
- lib/fixturizer/version.rb
|
228
|
+
- samples/.rspec
|
229
|
+
- samples/Gemfile
|
230
|
+
- samples/Rakefile
|
231
|
+
- samples/app.rb
|
232
|
+
- samples/config.ru
|
233
|
+
- samples/config/rules.yml
|
234
|
+
- samples/spec/app_spec.rb
|
235
|
+
- samples/spec/spec_helper.rb
|
34
236
|
homepage: https://github.com/Ultragreen/fixturizer
|
35
237
|
licenses:
|
36
238
|
- MIT
|
37
239
|
metadata:
|
240
|
+
allowed_push_host: https://rubygems.org
|
38
241
|
homepage_uri: https://github.com/Ultragreen/fixturizer
|
39
242
|
source_code_uri: https://github.com/Ultragreen/fixturizer
|
40
243
|
changelog_uri: https://github.com/Ultragreen/fixturizer
|
244
|
+
rubygems_mfa_required: 'true'
|
41
245
|
post_install_message:
|
42
246
|
rdoc_options: []
|
43
247
|
require_paths:
|
@@ -46,15 +250,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
46
250
|
requirements:
|
47
251
|
- - ">="
|
48
252
|
- !ruby/object:Gem::Version
|
49
|
-
version: 2.3
|
253
|
+
version: 3.2.3
|
50
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
255
|
requirements:
|
52
256
|
- - ">="
|
53
257
|
- !ruby/object:Gem::Version
|
54
258
|
version: '0'
|
55
259
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
260
|
+
rubygems_version: 3.4.19
|
57
261
|
signing_key:
|
58
262
|
specification_version: 4
|
59
|
-
summary: Ruby fixturizer for
|
263
|
+
summary: Ruby fixturizer tools for applications testing
|
60
264
|
test_files: []
|