fixturizer 0.1.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|