rails-csv-fixtures 0.0.1 → 0.0.3
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 +7 -0
- data/README.md +6 -0
- data/lib/rails-csv-fixtures/active_record_csv_fixtures.rb +22 -14
- data/lib/rails-csv-fixtures/active_support_test_case_patch.rb +2 -1
- data/lib/rails-csv-fixtures/version.rb +1 -1
- data/test/dummy/app/assets/javascripts/application.js +0 -2
- data/test/dummy/config/environments/development.rb +2 -3
- data/test/dummy/config/environments/production.rb +9 -1
- data/test/dummy/config/environments/test.rb +14 -5
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/rails-csv-fixtures_test.rb +8 -4
- metadata +99 -119
- data/README.rdoc +0 -5
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fe53d2c2fe70fa4b4d64a573a8edfd57b49941fa30861b89a5349eef67719f05
|
4
|
+
data.tar.gz: c9799f8c4fd423199fcfe5350c38597308050a6bab3451de8e4de8a0bc1e0b6e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3580a543e539c238e882c41abfd9acf945e80f4a9f02ab72e136dcae1ab142e67e56db0328e695b81efc5c73ff1dfac7b0a2fa5c204aa82e39fba28e81870d44
|
7
|
+
data.tar.gz: e3b817e64cc48f31a523d92519e268836fa1f8f904eba515dc5e368e5acee45fa43d7e35493a6bea340f502f3e99d170d0c2cedc63e23afc691e3fd8dccfead2
|
data/README.md
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
RailsCsvFixtures
|
2
|
+
================
|
3
|
+
[](https://travis-ci.org/bfolkens/rails-csv-fixtures)
|
4
|
+
|
5
|
+
This plugin restores the functionality of CSV based fixtures that was removed from Rails 3.2.
|
6
|
+
It's currently compatible with Rails 3.2/4.0/4.1/4.2/5.0/5.1.
|
@@ -6,32 +6,36 @@ module RailsCsvFixtures
|
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
8
8
|
included do
|
9
|
-
|
9
|
+
alias_method :read_fixture_files_without_csv_support, :read_fixture_files
|
10
|
+
alias_method :read_fixture_files, :read_fixture_files_with_csv_support
|
10
11
|
end
|
11
12
|
|
12
|
-
def read_fixture_files_with_csv_support
|
13
|
-
if ::File.file?(csv_file_path)
|
14
|
-
read_csv_fixture_files
|
13
|
+
def read_fixture_files_with_csv_support(*args)
|
14
|
+
if ::File.file?(csv_file_path(*args))
|
15
|
+
read_csv_fixture_files(*args)
|
15
16
|
else
|
16
|
-
read_fixture_files_without_csv_support
|
17
|
+
read_fixture_files_without_csv_support(*args)
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
|
-
def read_csv_fixture_files
|
21
|
-
|
21
|
+
def read_csv_fixture_files(*args)
|
22
|
+
fixtures = fixtures() || {}
|
23
|
+
reader = CSV.parse(erb_render(IO.read(csv_file_path(*args))))
|
22
24
|
header = reader.shift
|
23
25
|
i = 0
|
24
26
|
reader.each do |row|
|
25
27
|
data = {}
|
26
|
-
row.each_with_index { |cell, j| data[header[j].to_s.strip] = cell.to_s.strip }
|
27
|
-
|
28
|
+
row.each_with_index { |cell, j| data[header[j].to_s.strip] = cell.nil? ? nil : cell.to_s.strip }
|
29
|
+
class_name = (args.second || model_class && model_class.name)
|
30
|
+
fixtures["#{class_name.to_s.underscore}_#{i+=1}"] = ActiveRecord::Fixture.new(data, model_class)
|
28
31
|
end
|
32
|
+
fixtures
|
33
|
+
end
|
34
|
+
|
35
|
+
def csv_file_path(*args)
|
36
|
+
(args.first || @path || @fixture_path) + '.csv'
|
29
37
|
end
|
30
38
|
|
31
|
-
def csv_file_path
|
32
|
-
@fixture_path + ".csv"
|
33
|
-
end
|
34
|
-
|
35
39
|
def erb_render(fixture_content)
|
36
40
|
ERB.new(fixture_content).result
|
37
41
|
end
|
@@ -39,4 +43,8 @@ module RailsCsvFixtures
|
|
39
43
|
end
|
40
44
|
|
41
45
|
require 'active_record/fixtures'
|
42
|
-
::ActiveRecord::
|
46
|
+
if ::ActiveRecord::VERSION::MAJOR < 4
|
47
|
+
::ActiveRecord::Fixtures.send :include, RailsCsvFixtures::CsvFixtures
|
48
|
+
else
|
49
|
+
::ActiveRecord::FixtureSet.send :include, RailsCsvFixtures::CsvFixtures
|
50
|
+
end
|
@@ -5,9 +5,8 @@ Dummy::Application.configure do
|
|
5
5
|
# every request. This slows down response time but is perfect for development
|
6
6
|
# since you don't have to restart the web server when you make code changes.
|
7
7
|
config.cache_classes = false
|
8
|
-
|
9
|
-
|
10
|
-
config.whiny_nils = true
|
8
|
+
|
9
|
+
config.eager_load = false
|
11
10
|
|
12
11
|
# Show full error reports and disable caching
|
13
12
|
config.consider_all_requests_local = true
|
@@ -9,7 +9,15 @@ Dummy::Application.configure do
|
|
9
9
|
config.action_controller.perform_caching = true
|
10
10
|
|
11
11
|
# Disable Rails's static asset server (Apache or nginx will already do this)
|
12
|
-
|
12
|
+
if Rails::VERSION::MAJOR >= 5
|
13
|
+
config.public_file_server.enabled = false
|
14
|
+
elsif Rails::VERSION::MAJOR >= 4 && Rails::VERSION::MINOR >= 2
|
15
|
+
config.serve_static_files = false
|
16
|
+
else
|
17
|
+
config.serve_static_assets = false
|
18
|
+
end
|
19
|
+
|
20
|
+
config.eager_load = true
|
13
21
|
|
14
22
|
# Compress JavaScripts and CSS
|
15
23
|
config.assets.compress = true
|
@@ -7,12 +7,19 @@ Dummy::Application.configure do
|
|
7
7
|
# and recreated between test runs. Don't rely on the data there!
|
8
8
|
config.cache_classes = true
|
9
9
|
|
10
|
-
|
11
|
-
config.serve_static_assets = true
|
12
|
-
config.static_cache_control = "public, max-age=3600"
|
10
|
+
config.eager_load = false
|
13
11
|
|
14
|
-
#
|
15
|
-
|
12
|
+
# Configure static asset server for tests with Cache-Control for performance
|
13
|
+
if Rails::VERSION::MAJOR >= 5
|
14
|
+
config.public_file_server.enabled = true
|
15
|
+
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
|
16
|
+
elsif Rails::VERSION::MAJOR >= 4 && Rails::VERSION::MINOR >= 2
|
17
|
+
config.serve_static_files = true
|
18
|
+
config.static_cache_control = "public, max-age=3600"
|
19
|
+
else
|
20
|
+
config.serve_static_assets = true
|
21
|
+
config.static_cache_control = "public, max-age=3600"
|
22
|
+
end
|
16
23
|
|
17
24
|
# Show full error reports and disable caching
|
18
25
|
config.consider_all_requests_local = true
|
@@ -36,4 +43,6 @@ Dummy::Application.configure do
|
|
36
43
|
|
37
44
|
# Print deprecation notices to the stderr
|
38
45
|
config.active_support.deprecation = :stderr
|
46
|
+
|
47
|
+
config.active_support.test_order = :random
|
39
48
|
end
|
Binary file
|
Binary file
|
@@ -2,16 +2,20 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class RailsCsvFixturesTest < ActiveSupport::TestCase
|
4
4
|
test 'should read csv fixtures' do
|
5
|
-
|
6
|
-
|
5
|
+
if ::ActiveRecord::VERSION::MAJOR < 4
|
6
|
+
_fixtures = ActiveRecord::Fixtures.new(Account.connection, 'accounts', 'Account', File.join(fixture_path, 'accounts'))
|
7
|
+
else
|
8
|
+
_fixtures = ActiveRecord::FixtureSet.new(Account.connection, 'accounts', Account, File.join(fixture_path, 'accounts'))
|
9
|
+
end
|
10
|
+
|
7
11
|
assert_not_nil _fixtures
|
8
12
|
assert _fixtures.fixtures.any?
|
9
13
|
end
|
10
|
-
|
14
|
+
|
11
15
|
test 'should load fixtures in test case' do
|
12
16
|
assert_nothing_raised do
|
13
17
|
ActiveSupport::TestCase.fixtures(:all)
|
14
18
|
ActiveSupport::TestCase.fixtures(:accounts)
|
15
19
|
end
|
16
20
|
end
|
17
|
-
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,167 +1,147 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-csv-fixtures
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Brad Folkens
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2022-08-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: rails
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 3
|
32
|
-
- 2
|
33
|
-
- 0
|
34
|
-
version: 3.2.0
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
35
20
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: sqlite3
|
39
21
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
43
24
|
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sqlite3
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
49
34
|
type: :development
|
50
|
-
|
51
|
-
|
52
|
-
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: This plugin restores the functionality of CSV based fixtures that was
|
42
|
+
removed from Rails 3.2+
|
43
|
+
email:
|
53
44
|
- bfolkens@gmail.com
|
54
45
|
executables: []
|
55
|
-
|
56
46
|
extensions: []
|
57
|
-
|
58
47
|
extra_rdoc_files: []
|
59
|
-
|
60
|
-
files:
|
61
|
-
- lib/rails-csv-fixtures/version.rb
|
62
|
-
- lib/rails-csv-fixtures/active_record_csv_fixtures.rb
|
63
|
-
- lib/rails-csv-fixtures/railtie.rb
|
64
|
-
- lib/rails-csv-fixtures/active_support_test_case_patch.rb
|
65
|
-
- lib/rails-csv-fixtures.rb
|
48
|
+
files:
|
66
49
|
- MIT-LICENSE
|
50
|
+
- README.md
|
67
51
|
- Rakefile
|
68
|
-
-
|
69
|
-
-
|
70
|
-
-
|
71
|
-
-
|
72
|
-
-
|
73
|
-
- test/dummy/
|
74
|
-
- test/dummy/test/fixtures/accounts.csv
|
75
|
-
- test/dummy/app/controllers/application_controller.rb
|
52
|
+
- lib/rails-csv-fixtures.rb
|
53
|
+
- lib/rails-csv-fixtures/active_record_csv_fixtures.rb
|
54
|
+
- lib/rails-csv-fixtures/active_support_test_case_patch.rb
|
55
|
+
- lib/rails-csv-fixtures/railtie.rb
|
56
|
+
- lib/rails-csv-fixtures/version.rb
|
57
|
+
- test/dummy/Rakefile
|
76
58
|
- test/dummy/app/assets/javascripts/application.js
|
77
59
|
- test/dummy/app/assets/stylesheets/application.css
|
78
|
-
- test/dummy/app/
|
60
|
+
- test/dummy/app/controllers/application_controller.rb
|
79
61
|
- test/dummy/app/helpers/application_helper.rb
|
62
|
+
- test/dummy/app/models/account.rb
|
80
63
|
- test/dummy/app/views/layouts/application.html.erb
|
81
|
-
- test/dummy/
|
82
|
-
- test/dummy/config/
|
64
|
+
- test/dummy/config.ru
|
65
|
+
- test/dummy/config/application.rb
|
66
|
+
- test/dummy/config/boot.rb
|
67
|
+
- test/dummy/config/database.yml
|
68
|
+
- test/dummy/config/environment.rb
|
69
|
+
- test/dummy/config/environments/development.rb
|
70
|
+
- test/dummy/config/environments/production.rb
|
71
|
+
- test/dummy/config/environments/test.rb
|
72
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
73
|
+
- test/dummy/config/initializers/inflections.rb
|
83
74
|
- test/dummy/config/initializers/mime_types.rb
|
75
|
+
- test/dummy/config/initializers/secret_token.rb
|
84
76
|
- test/dummy/config/initializers/session_store.rb
|
85
|
-
- test/dummy/config/initializers/inflections.rb
|
86
77
|
- test/dummy/config/initializers/wrap_parameters.rb
|
87
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
88
|
-
- test/dummy/config/environments/test.rb
|
89
|
-
- test/dummy/config/environments/development.rb
|
90
|
-
- test/dummy/config/environments/production.rb
|
91
78
|
- test/dummy/config/locales/en.yml
|
92
|
-
- test/dummy/config/boot.rb
|
93
|
-
- test/dummy/config/environment.rb
|
94
79
|
- test/dummy/config/routes.rb
|
95
|
-
- test/dummy/
|
96
|
-
- test/dummy/
|
97
|
-
- test/dummy/
|
98
|
-
- test/dummy/
|
80
|
+
- test/dummy/db/development.sqlite3
|
81
|
+
- test/dummy/db/schema.rb
|
82
|
+
- test/dummy/db/test.sqlite3
|
83
|
+
- test/dummy/public/404.html
|
84
|
+
- test/dummy/public/422.html
|
85
|
+
- test/dummy/public/500.html
|
86
|
+
- test/dummy/public/favicon.ico
|
87
|
+
- test/dummy/script/rails
|
88
|
+
- test/dummy/test/fixtures/accounts.csv
|
99
89
|
- test/rails-csv-fixtures_test.rb
|
100
90
|
- test/test_helper.rb
|
101
|
-
has_rdoc: true
|
102
91
|
homepage: http://github.com/bfolkens/rails-csv-fixtures
|
103
92
|
licenses: []
|
104
|
-
|
93
|
+
metadata: {}
|
105
94
|
post_install_message:
|
106
95
|
rdoc_options: []
|
107
|
-
|
108
|
-
require_paths:
|
96
|
+
require_paths:
|
109
97
|
- lib
|
110
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
-
|
112
|
-
requirements:
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
113
100
|
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
version: "0"
|
119
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
-
none: false
|
121
|
-
requirements:
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
122
105
|
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
|
125
|
-
segments:
|
126
|
-
- 0
|
127
|
-
version: "0"
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
128
108
|
requirements: []
|
129
|
-
|
130
|
-
rubyforge_project:
|
131
|
-
rubygems_version: 1.6.2
|
109
|
+
rubygems_version: 3.1.4
|
132
110
|
signing_key:
|
133
|
-
specification_version:
|
111
|
+
specification_version: 4
|
134
112
|
summary: Restores functionality of CSV based fixtures in Rails 3.2+
|
135
|
-
test_files:
|
136
|
-
- test/dummy/
|
137
|
-
- test/dummy/public/422.html
|
138
|
-
- test/dummy/public/500.html
|
139
|
-
- test/dummy/public/favicon.ico
|
140
|
-
- test/dummy/db/schema.rb
|
141
|
-
- test/dummy/test/fixtures/accounts.csv
|
113
|
+
test_files:
|
114
|
+
- test/dummy/app/models/account.rb
|
142
115
|
- test/dummy/app/controllers/application_controller.rb
|
116
|
+
- test/dummy/app/views/layouts/application.html.erb
|
143
117
|
- test/dummy/app/assets/javascripts/application.js
|
144
118
|
- test/dummy/app/assets/stylesheets/application.css
|
145
|
-
- test/dummy/app/models/account.rb
|
146
119
|
- test/dummy/app/helpers/application_helper.rb
|
147
|
-
- test/dummy/
|
148
|
-
- test/dummy/
|
149
|
-
- test/dummy/config/initializers/secret_token.rb
|
150
|
-
- test/dummy/config/initializers/mime_types.rb
|
151
|
-
- test/dummy/config/initializers/session_store.rb
|
152
|
-
- test/dummy/config/initializers/inflections.rb
|
153
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
154
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
155
|
-
- test/dummy/config/environments/test.rb
|
156
|
-
- test/dummy/config/environments/development.rb
|
157
|
-
- test/dummy/config/environments/production.rb
|
120
|
+
- test/dummy/test/fixtures/accounts.csv
|
121
|
+
- test/dummy/config/routes.rb
|
158
122
|
- test/dummy/config/locales/en.yml
|
159
|
-
- test/dummy/config/
|
123
|
+
- test/dummy/config/environments/production.rb
|
124
|
+
- test/dummy/config/environments/development.rb
|
125
|
+
- test/dummy/config/environments/test.rb
|
160
126
|
- test/dummy/config/environment.rb
|
161
|
-
- test/dummy/config/routes.rb
|
162
|
-
- test/dummy/config/database.yml
|
163
127
|
- test/dummy/config/application.rb
|
128
|
+
- test/dummy/config/database.yml
|
129
|
+
- test/dummy/config/boot.rb
|
130
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
131
|
+
- test/dummy/config/initializers/mime_types.rb
|
132
|
+
- test/dummy/config/initializers/session_store.rb
|
133
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
134
|
+
- test/dummy/config/initializers/secret_token.rb
|
135
|
+
- test/dummy/config/initializers/inflections.rb
|
164
136
|
- test/dummy/config.ru
|
137
|
+
- test/dummy/script/rails
|
165
138
|
- test/dummy/Rakefile
|
166
|
-
- test/
|
139
|
+
- test/dummy/public/favicon.ico
|
140
|
+
- test/dummy/public/422.html
|
141
|
+
- test/dummy/public/500.html
|
142
|
+
- test/dummy/public/404.html
|
143
|
+
- test/dummy/db/schema.rb
|
144
|
+
- test/dummy/db/test.sqlite3
|
145
|
+
- test/dummy/db/development.sqlite3
|
167
146
|
- test/test_helper.rb
|
147
|
+
- test/rails-csv-fixtures_test.rb
|
data/README.rdoc
DELETED