seed_dump 3.3.1 → 3.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/.github/workflows/release.yml +38 -0
- data/Appraisals +47 -0
- data/Gemfile +23 -7
- data/README.md +53 -19
- data/VERSION +1 -1
- data/find_ruby_compat.sh +237 -0
- data/gemfiles/rails_6.1.gemfile +28 -0
- data/gemfiles/rails_6.1.gemfile.lock +150 -0
- data/gemfiles/rails_7.0.gemfile +28 -0
- data/gemfiles/rails_7.0.gemfile.lock +148 -0
- data/gemfiles/rails_7.1.gemfile +28 -0
- data/gemfiles/rails_7.1.gemfile.lock +161 -0
- data/gemfiles/rails_7.2.gemfile +28 -0
- data/gemfiles/rails_7.2.gemfile.lock +164 -0
- data/gemfiles/rails_8.0.gemfile +28 -0
- data/gemfiles/rails_8.0.gemfile.lock +163 -0
- data/lib/seed_dump/dump_methods/enumeration.rb +11 -3
- data/lib/seed_dump/dump_methods.rb +421 -64
- data/lib/seed_dump/environment.rb +294 -8
- data/seed_dump.gemspec +30 -29
- data/spec/dump_methods_spec.rb +1012 -74
- data/spec/environment_spec.rb +515 -46
- data/spec/factories/another_samples.rb +17 -10
- data/spec/factories/authors.rb +5 -0
- data/spec/factories/base_users.rb +16 -0
- data/spec/factories/books.rb +6 -0
- data/spec/factories/bosses.rb +5 -0
- data/spec/factories/reviews.rb +7 -0
- data/spec/factories/samples.rb +16 -12
- data/spec/factories/yet_another_samples.rb +17 -10
- data/spec/helpers.rb +169 -9
- data/spec/spec_helper.rb +28 -5
- metadata +46 -15
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
FactoryBot.define do
|
|
2
2
|
factory :another_sample do
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
# Use block syntax for attribute definitions
|
|
4
|
+
string { 'string' }
|
|
5
|
+
text { 'text' }
|
|
6
|
+
integer { 42 }
|
|
7
|
+
float { 3.14 }
|
|
8
|
+
# BigDecimal needs to be initialized within the block
|
|
9
|
+
decimal { BigDecimal('2.72') }
|
|
10
|
+
# Use standard Ruby DateTime/Time parse methods directly
|
|
11
|
+
datetime { DateTime.parse('July 4, 1776 7:14pm UTC') }
|
|
12
|
+
time { Time.parse('3:15am UTC') }
|
|
13
|
+
date { Date.parse('November 19, 1863') }
|
|
14
|
+
binary { 'binary' }
|
|
15
|
+
boolean { false }
|
|
16
|
+
# created_at and updated_at are typically handled by ActiveRecord timestamps
|
|
17
|
+
# but can be defined explicitly if needed for specific tests.
|
|
18
|
+
# created_at { Time.now }
|
|
19
|
+
# updated_at { Time.now }
|
|
13
20
|
end
|
|
14
21
|
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
FactoryBot.define do
|
|
2
|
+
factory :base_user do
|
|
3
|
+
name { 'Test User' }
|
|
4
|
+
email { 'user@example.com' }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
factory :admin_user do
|
|
8
|
+
name { 'Admin User' }
|
|
9
|
+
email { 'admin@example.com' }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
factory :guest_user do
|
|
13
|
+
name { 'Guest User' }
|
|
14
|
+
email { 'guest@example.com' }
|
|
15
|
+
end
|
|
16
|
+
end
|
data/spec/factories/samples.rb
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
FactoryBot.define do
|
|
2
2
|
factory :sample do
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
# Use block syntax for attribute definitions
|
|
4
|
+
string { 'string' }
|
|
5
|
+
text { 'text' }
|
|
6
|
+
integer { 42 }
|
|
7
|
+
float { 3.14 }
|
|
8
|
+
# BigDecimal needs to be initialized within the block
|
|
9
|
+
decimal { BigDecimal('2.72') }
|
|
10
|
+
# Use standard Ruby DateTime/Time parse methods directly
|
|
11
|
+
datetime { DateTime.parse('July 4, 1776 7:14pm UTC') }
|
|
12
|
+
time { Time.parse('3:15am UTC') }
|
|
13
|
+
date { Date.parse('November 19, 1863') }
|
|
14
|
+
binary { 'binary' }
|
|
15
|
+
boolean { false }
|
|
16
|
+
# Define created_at and updated_at explicitly as they are used in specs
|
|
17
|
+
created_at { DateTime.parse('July 20, 1969 20:18 UTC') }
|
|
18
|
+
updated_at { DateTime.parse('November 10, 1989 4:20 UTC') }
|
|
15
19
|
end
|
|
16
20
|
end
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
FactoryBot.define do
|
|
2
2
|
factory :yet_another_sample do
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
# Use block syntax for attribute definitions
|
|
4
|
+
string { 'string' }
|
|
5
|
+
text { 'text' }
|
|
6
|
+
integer { 42 }
|
|
7
|
+
float { 3.14 }
|
|
8
|
+
# BigDecimal needs to be initialized within the block
|
|
9
|
+
decimal { BigDecimal('2.72') }
|
|
10
|
+
# Use standard Ruby DateTime/Time parse methods directly
|
|
11
|
+
datetime { DateTime.parse('July 4, 1776 7:14pm UTC') }
|
|
12
|
+
time { Time.parse('3:15am UTC') }
|
|
13
|
+
date { Date.parse('November 19, 1863') }
|
|
14
|
+
binary { 'binary' }
|
|
15
|
+
boolean { false }
|
|
16
|
+
# created_at and updated_at are typically handled by ActiveRecord timestamps
|
|
17
|
+
# but can be defined explicitly if needed for specific tests.
|
|
18
|
+
# created_at { Time.now }
|
|
19
|
+
# updated_at { Time.now }
|
|
13
20
|
end
|
|
14
21
|
end
|
data/spec/helpers.rb
CHANGED
|
@@ -8,16 +8,87 @@ class Rails
|
|
|
8
8
|
def self.eager_load!
|
|
9
9
|
@already_called ||= false
|
|
10
10
|
|
|
11
|
-
if
|
|
12
|
-
|
|
11
|
+
# Define models only if they aren't already defined
|
|
12
|
+
# This prevents errors if eager_load! is called multiple times
|
|
13
|
+
unless @already_called
|
|
14
|
+
Object.const_set('Sample', Class.new(ActiveRecord::Base)) unless defined?(Sample)
|
|
15
|
+
Object.const_set('AnotherSample', Class.new(ActiveRecord::Base)) unless defined?(AnotherSample)
|
|
16
|
+
Object.const_set('YetAnotherSample', Class.new(ActiveRecord::Base)) unless defined?(YetAnotherSample)
|
|
17
|
+
Object.const_set('NoTableModel', Class.new(ActiveRecord::Base)) unless defined?(NoTableModel)
|
|
18
|
+
Object.const_set('EmptyModel', Class.new(ActiveRecord::Base)) unless defined?(EmptyModel)
|
|
19
|
+
Object.const_set('CampaignsManager', Class.new(ActiveRecord::Base)) unless defined?(CampaignsManager)
|
|
20
|
+
Object.const_set('Boss', Class.new(ActiveRecord::Base)) unless defined?(Boss)
|
|
21
|
+
|
|
22
|
+
# STI models for testing issue #120
|
|
23
|
+
unless defined?(BaseUser)
|
|
24
|
+
base_user_class = Class.new(ActiveRecord::Base) do
|
|
25
|
+
self.table_name = 'base_users'
|
|
26
|
+
end
|
|
27
|
+
Object.const_set('BaseUser', base_user_class)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
unless defined?(AdminUser)
|
|
31
|
+
admin_user_class = Class.new(BaseUser)
|
|
32
|
+
Object.const_set('AdminUser', admin_user_class)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
unless defined?(GuestUser)
|
|
36
|
+
guest_user_class = Class.new(BaseUser)
|
|
37
|
+
Object.const_set('GuestUser', guest_user_class)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Model with serialized Hash field (issue #105) - JSON serialization
|
|
41
|
+
unless defined?(SerializedSample)
|
|
42
|
+
serialized_class = Class.new(ActiveRecord::Base) do
|
|
43
|
+
self.table_name = 'serialized_samples'
|
|
44
|
+
serialize :metadata, coder: JSON
|
|
45
|
+
end
|
|
46
|
+
Object.const_set('SerializedSample', serialized_class)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Model with default_scope selecting specific columns (issue #165)
|
|
50
|
+
unless defined?(ScopedSelectSample)
|
|
51
|
+
scoped_class = Class.new(ActiveRecord::Base) do
|
|
52
|
+
self.table_name = 'scoped_select_samples'
|
|
53
|
+
default_scope { select(:id, :name) }
|
|
54
|
+
end
|
|
55
|
+
Object.const_set('ScopedSelectSample', scoped_class)
|
|
56
|
+
end
|
|
13
57
|
|
|
14
|
-
|
|
58
|
+
# Model with created_on/updated_on columns (issue #128)
|
|
59
|
+
unless defined?(TimestampOnSample)
|
|
60
|
+
timestamp_on_class = Class.new(ActiveRecord::Base) do
|
|
61
|
+
self.table_name = 'timestamp_on_samples'
|
|
62
|
+
end
|
|
63
|
+
Object.const_set('TimestampOnSample', timestamp_on_class)
|
|
64
|
+
end
|
|
15
65
|
|
|
16
|
-
|
|
66
|
+
# Models with foreign key relationships for testing dependency ordering (issues #78, #83)
|
|
67
|
+
# Author -> Book -> Review (Review depends on Book, Book depends on Author)
|
|
68
|
+
unless defined?(Author)
|
|
69
|
+
author_class = Class.new(ActiveRecord::Base) do
|
|
70
|
+
self.table_name = 'authors'
|
|
71
|
+
has_many :books
|
|
72
|
+
end
|
|
73
|
+
Object.const_set('Author', author_class)
|
|
74
|
+
end
|
|
17
75
|
|
|
18
|
-
|
|
76
|
+
unless defined?(Book)
|
|
77
|
+
book_class = Class.new(ActiveRecord::Base) do
|
|
78
|
+
self.table_name = 'books'
|
|
79
|
+
belongs_to :author
|
|
80
|
+
has_many :reviews
|
|
81
|
+
end
|
|
82
|
+
Object.const_set('Book', book_class)
|
|
83
|
+
end
|
|
19
84
|
|
|
20
|
-
|
|
85
|
+
unless defined?(Review)
|
|
86
|
+
review_class = Class.new(ActiveRecord::Base) do
|
|
87
|
+
self.table_name = 'reviews'
|
|
88
|
+
belongs_to :book
|
|
89
|
+
end
|
|
90
|
+
Object.const_set('Review', review_class)
|
|
91
|
+
end
|
|
21
92
|
|
|
22
93
|
@already_called = true
|
|
23
94
|
end
|
|
@@ -29,10 +100,18 @@ class Rails
|
|
|
29
100
|
end
|
|
30
101
|
|
|
31
102
|
module Helpers
|
|
32
|
-
|
|
103
|
+
# Define create_db as a module method (self.create_db)
|
|
104
|
+
def self.create_db
|
|
105
|
+
# Ensure ActiveRecord connection is established before migrations
|
|
106
|
+
unless ActiveRecord::Base.connected?
|
|
107
|
+
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
|
|
108
|
+
end
|
|
109
|
+
|
|
33
110
|
ActiveRecord::Migration.verbose = false
|
|
34
111
|
|
|
35
112
|
ActiveRecord::Schema.define(:version => 1) do
|
|
113
|
+
# Use drop_table with if_exists for idempotency
|
|
114
|
+
drop_table :samples, if_exists: true
|
|
36
115
|
create_table 'samples', :force => true do |t|
|
|
37
116
|
t.string 'string'
|
|
38
117
|
t.text 'text'
|
|
@@ -48,6 +127,7 @@ module Helpers
|
|
|
48
127
|
t.datetime 'updated_at', :null => false
|
|
49
128
|
end
|
|
50
129
|
|
|
130
|
+
drop_table :another_samples, if_exists: true
|
|
51
131
|
create_table 'another_samples', :force => true do |t|
|
|
52
132
|
t.string 'string'
|
|
53
133
|
t.text 'text'
|
|
@@ -63,6 +143,7 @@ module Helpers
|
|
|
63
143
|
t.datetime 'updated_at', :null => false
|
|
64
144
|
end
|
|
65
145
|
|
|
146
|
+
drop_table :yet_another_samples, if_exists: true
|
|
66
147
|
create_table 'yet_another_samples', :force => true do |t|
|
|
67
148
|
t.string 'string'
|
|
68
149
|
t.text 'text'
|
|
@@ -78,15 +159,94 @@ module Helpers
|
|
|
78
159
|
t.datetime 'updated_at', :null => false
|
|
79
160
|
end
|
|
80
161
|
|
|
162
|
+
drop_table :empty_models, if_exists: true
|
|
81
163
|
create_table 'empty_models', force: true
|
|
164
|
+
|
|
165
|
+
# Join table without primary key (for issue #167 - HABTM tables)
|
|
166
|
+
drop_table :campaigns_managers, if_exists: true
|
|
167
|
+
create_table 'campaigns_managers', id: false, force: true do |t|
|
|
168
|
+
t.integer :campaign_id
|
|
169
|
+
t.integer :manager_id
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Table for testing default_scope with select (issue #165)
|
|
173
|
+
drop_table :scoped_select_samples, if_exists: true
|
|
174
|
+
create_table 'scoped_select_samples', force: true do |t|
|
|
175
|
+
t.string :name
|
|
176
|
+
t.string :description
|
|
177
|
+
t.datetime 'created_at', null: false
|
|
178
|
+
t.datetime 'updated_at', null: false
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# Table for testing serialized Hash fields (issue #105) - JSON
|
|
182
|
+
drop_table :serialized_samples, if_exists: true
|
|
183
|
+
create_table 'serialized_samples', force: true do |t|
|
|
184
|
+
t.string :name
|
|
185
|
+
t.text :metadata
|
|
186
|
+
t.datetime 'created_at', null: false
|
|
187
|
+
t.datetime 'updated_at', null: false
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Table for testing created_on/updated_on exclusion (issue #128)
|
|
191
|
+
drop_table :timestamp_on_samples, if_exists: true
|
|
192
|
+
create_table 'timestamp_on_samples', force: true do |t|
|
|
193
|
+
t.string :name
|
|
194
|
+
t.datetime 'created_on', null: false
|
|
195
|
+
t.datetime 'updated_on', null: false
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
# Table for testing model names ending in 's' (issue #121)
|
|
199
|
+
drop_table :bosses, if_exists: true
|
|
200
|
+
create_table 'bosses', force: true do |t|
|
|
201
|
+
t.string :name
|
|
202
|
+
t.datetime 'created_at', null: false
|
|
203
|
+
t.datetime 'updated_at', null: false
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# Table for testing STI deduplication (issue #120)
|
|
207
|
+
drop_table :base_users, if_exists: true
|
|
208
|
+
create_table 'base_users', force: true do |t|
|
|
209
|
+
t.string :type # STI type column
|
|
210
|
+
t.string :name
|
|
211
|
+
t.string :email
|
|
212
|
+
t.datetime 'created_at', null: false
|
|
213
|
+
t.datetime 'updated_at', null: false
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Tables for testing foreign key dependency ordering (issues #78, #83)
|
|
217
|
+
# Author -> Book -> Review dependency chain
|
|
218
|
+
drop_table :reviews, if_exists: true
|
|
219
|
+
drop_table :books, if_exists: true
|
|
220
|
+
drop_table :authors, if_exists: true
|
|
221
|
+
|
|
222
|
+
create_table 'authors', force: true do |t|
|
|
223
|
+
t.string :name
|
|
224
|
+
t.datetime 'created_at', null: false
|
|
225
|
+
t.datetime 'updated_at', null: false
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
create_table 'books', force: true do |t|
|
|
229
|
+
t.string :title
|
|
230
|
+
t.references :author, foreign_key: true
|
|
231
|
+
t.datetime 'created_at', null: false
|
|
232
|
+
t.datetime 'updated_at', null: false
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
create_table 'reviews', force: true do |t|
|
|
236
|
+
t.text :content
|
|
237
|
+
t.integer :rating
|
|
238
|
+
t.references :book, foreign_key: true
|
|
239
|
+
t.datetime 'created_at', null: false
|
|
240
|
+
t.datetime 'updated_at', null: false
|
|
241
|
+
end
|
|
242
|
+
|
|
82
243
|
end
|
|
83
244
|
end
|
|
84
245
|
|
|
246
|
+
# Keep load_sample_data as an instance method if needed by examples
|
|
85
247
|
def load_sample_data
|
|
86
248
|
Rails.application.eager_load!
|
|
87
249
|
|
|
88
250
|
Sample.create!
|
|
89
|
-
|
|
90
|
-
ChildSample.create!
|
|
91
251
|
end
|
|
92
252
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
require
|
|
1
|
+
# Explicitly require logger before active_support to potentially resolve
|
|
2
|
+
# constant lookup issues in newer Ruby versions with older ActiveSupport.
|
|
3
|
+
require 'logger'
|
|
2
4
|
|
|
3
5
|
require 'active_support'
|
|
4
6
|
require 'active_record'
|
|
@@ -7,26 +9,47 @@ require 'tempfile'
|
|
|
7
9
|
|
|
8
10
|
require 'byebug'
|
|
9
11
|
|
|
10
|
-
require 'database_cleaner'
|
|
12
|
+
require 'database_cleaner/active_record' # Use the specific cleaner
|
|
11
13
|
require 'factory_bot'
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
# Require the main gem file to define SeedDump constant
|
|
16
|
+
require_relative '../lib/seed_dump'
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
require_relative './helpers' # Use require_relative for local files
|
|
16
19
|
|
|
20
|
+
# Load FactoryBot definitions
|
|
17
21
|
FactoryBot.find_definitions
|
|
18
22
|
|
|
19
23
|
RSpec.configure do |config|
|
|
20
24
|
config.order = 'random'
|
|
21
25
|
|
|
26
|
+
# Include helper methods for use within examples (it blocks)
|
|
22
27
|
config.include Helpers
|
|
23
28
|
|
|
29
|
+
# Configure DatabaseCleaner and Schema Setup
|
|
24
30
|
config.before(:suite) do
|
|
25
|
-
|
|
31
|
+
# Ensure mock Rails models are defined once for the suite
|
|
32
|
+
Rails.application.eager_load! if defined?(Rails) && Rails.respond_to?(:application)
|
|
33
|
+
|
|
34
|
+
# Create the database schema once before the suite runs
|
|
35
|
+
begin
|
|
36
|
+
Helpers.create_db
|
|
37
|
+
rescue => e
|
|
38
|
+
puts "== RSpec: ERROR creating database schema: #{e.message} =="
|
|
39
|
+
puts e.backtrace
|
|
40
|
+
raise e # Re-raise the error to fail the suite setup
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# Set up DatabaseCleaner strategy and clean once initially
|
|
45
|
+
# Use truncation strategy for initial clean
|
|
46
|
+
DatabaseCleaner.strategy = :truncation
|
|
26
47
|
DatabaseCleaner.clean_with(:truncation)
|
|
27
48
|
end
|
|
28
49
|
|
|
50
|
+
# Use :truncation strategy before and after each example for thorough cleaning
|
|
29
51
|
config.before(:each) do
|
|
52
|
+
DatabaseCleaner.strategy = :truncation # Set strategy before starting
|
|
30
53
|
DatabaseCleaner.start
|
|
31
54
|
end
|
|
32
55
|
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: seed_dump
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rob Halff
|
|
8
8
|
- Ryan Oblak
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
@@ -39,62 +39,76 @@ dependencies:
|
|
|
39
39
|
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '4'
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: seed_dump
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0'
|
|
49
|
+
type: :runtime
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
42
56
|
- !ruby/object:Gem::Dependency
|
|
43
57
|
name: byebug
|
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
|
45
59
|
requirements:
|
|
46
60
|
- - "~>"
|
|
47
61
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '
|
|
62
|
+
version: '11.1'
|
|
49
63
|
type: :development
|
|
50
64
|
prerelease: false
|
|
51
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
66
|
requirements:
|
|
53
67
|
- - "~>"
|
|
54
68
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: '
|
|
69
|
+
version: '11.1'
|
|
56
70
|
- !ruby/object:Gem::Dependency
|
|
57
71
|
name: factory_bot
|
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
|
59
73
|
requirements:
|
|
60
74
|
- - "~>"
|
|
61
75
|
- !ruby/object:Gem::Version
|
|
62
|
-
version:
|
|
76
|
+
version: '6.1'
|
|
63
77
|
type: :development
|
|
64
78
|
prerelease: false
|
|
65
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
80
|
requirements:
|
|
67
81
|
- - "~>"
|
|
68
82
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
83
|
+
version: '6.1'
|
|
70
84
|
- !ruby/object:Gem::Dependency
|
|
71
85
|
name: activerecord-import
|
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
|
73
87
|
requirements:
|
|
74
88
|
- - "~>"
|
|
75
89
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '0.
|
|
90
|
+
version: '0.28'
|
|
77
91
|
type: :development
|
|
78
92
|
prerelease: false
|
|
79
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
94
|
requirements:
|
|
81
95
|
- - "~>"
|
|
82
96
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '0.
|
|
97
|
+
version: '0.28'
|
|
84
98
|
- !ruby/object:Gem::Dependency
|
|
85
99
|
name: jeweler
|
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
|
87
101
|
requirements:
|
|
88
102
|
- - "~>"
|
|
89
103
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '2.
|
|
104
|
+
version: '2.3'
|
|
91
105
|
type: :development
|
|
92
106
|
prerelease: false
|
|
93
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
108
|
requirements:
|
|
95
109
|
- - "~>"
|
|
96
110
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: '2.
|
|
111
|
+
version: '2.3'
|
|
98
112
|
description: Dump (parts) of your database to db/seeds.rb to get a headstart creating
|
|
99
113
|
a meaningful seeds.rb file
|
|
100
114
|
email: rroblak@gmail.com
|
|
@@ -103,12 +117,25 @@ extensions: []
|
|
|
103
117
|
extra_rdoc_files:
|
|
104
118
|
- README.md
|
|
105
119
|
files:
|
|
120
|
+
- ".github/workflows/release.yml"
|
|
106
121
|
- ".rspec"
|
|
122
|
+
- Appraisals
|
|
107
123
|
- Gemfile
|
|
108
124
|
- MIT-LICENSE
|
|
109
125
|
- README.md
|
|
110
126
|
- Rakefile
|
|
111
127
|
- VERSION
|
|
128
|
+
- find_ruby_compat.sh
|
|
129
|
+
- gemfiles/rails_6.1.gemfile
|
|
130
|
+
- gemfiles/rails_6.1.gemfile.lock
|
|
131
|
+
- gemfiles/rails_7.0.gemfile
|
|
132
|
+
- gemfiles/rails_7.0.gemfile.lock
|
|
133
|
+
- gemfiles/rails_7.1.gemfile
|
|
134
|
+
- gemfiles/rails_7.1.gemfile.lock
|
|
135
|
+
- gemfiles/rails_7.2.gemfile
|
|
136
|
+
- gemfiles/rails_7.2.gemfile.lock
|
|
137
|
+
- gemfiles/rails_8.0.gemfile
|
|
138
|
+
- gemfiles/rails_8.0.gemfile.lock
|
|
112
139
|
- lib/seed_dump.rb
|
|
113
140
|
- lib/seed_dump/dump_methods.rb
|
|
114
141
|
- lib/seed_dump/dump_methods/enumeration.rb
|
|
@@ -119,6 +146,11 @@ files:
|
|
|
119
146
|
- spec/dump_methods_spec.rb
|
|
120
147
|
- spec/environment_spec.rb
|
|
121
148
|
- spec/factories/another_samples.rb
|
|
149
|
+
- spec/factories/authors.rb
|
|
150
|
+
- spec/factories/base_users.rb
|
|
151
|
+
- spec/factories/books.rb
|
|
152
|
+
- spec/factories/bosses.rb
|
|
153
|
+
- spec/factories/reviews.rb
|
|
122
154
|
- spec/factories/samples.rb
|
|
123
155
|
- spec/factories/yet_another_samples.rb
|
|
124
156
|
- spec/helpers.rb
|
|
@@ -127,7 +159,7 @@ homepage: https://github.com/rroblak/seed_dump
|
|
|
127
159
|
licenses:
|
|
128
160
|
- MIT
|
|
129
161
|
metadata: {}
|
|
130
|
-
post_install_message:
|
|
162
|
+
post_install_message:
|
|
131
163
|
rdoc_options: []
|
|
132
164
|
require_paths:
|
|
133
165
|
- lib
|
|
@@ -142,9 +174,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
142
174
|
- !ruby/object:Gem::Version
|
|
143
175
|
version: '0'
|
|
144
176
|
requirements: []
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
signing_key:
|
|
177
|
+
rubygems_version: 3.5.22
|
|
178
|
+
signing_key:
|
|
148
179
|
specification_version: 4
|
|
149
180
|
summary: "{Seed Dumper for Rails}"
|
|
150
181
|
test_files: []
|