fixation 1.2.0 → 1.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/README.md +21 -2
- data/lib/fixation.rb +2 -1
- data/lib/fixation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9030fd3deb6fe90db7f3386081d6f54022986bae
|
4
|
+
data.tar.gz: c4ee3f55efd5e72710339bed2ec9c2a35381372d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bccd15f8df0a0562de2d1582c6a1fad9eb9aaea1465884c4878704ddb1ae4458ff985aeb8af745cbf70780b825be03529addef6ab172a80c5f5d5d37885e6b3d
|
7
|
+
data.tar.gz: 28532d1a859500bfba29ead7aa8a09053d90ef11699ac68609a0769b0bf89b9659b069755283718c89962ec9ca32602d15d46fb11a20668f278f382f4c4610be
|
data/README.md
CHANGED
@@ -6,10 +6,12 @@ Like ActiveRecord's normal fixture implementation, Fixation will load the model
|
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
|
-
Add this
|
9
|
+
Add this gem to your application's Gemfile:
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
|
12
|
+
groups :development, :test do
|
13
|
+
gem 'fixation'
|
14
|
+
end
|
13
15
|
```
|
14
16
|
|
15
17
|
And then execute:
|
@@ -58,6 +60,23 @@ You'll need to run rake tasks like `db:create` and `db:test:prepare` the normal
|
|
58
60
|
Not all features of regular ActiveRecord fixtures are supported:
|
59
61
|
* HABTM support has not been implemented (does anyone use HABTM these days?)
|
60
62
|
|
63
|
+
## Multiple fixture paths
|
64
|
+
|
65
|
+
Unlike regular ActiveRecord fixtures, Fixation supports looking for fixture files in multiple paths. It defaults to looking in `test/fixtures` and `spec/fixtures`. You can change this in your initializer before you do the spring setup:
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
if Rails.env.test?
|
69
|
+
Fixation.paths = %w(spec/fixtures db/seeds)
|
70
|
+
end
|
71
|
+
|
72
|
+
if Rails.env.test? && Fixation.running_under_spring?
|
73
|
+
Rails.application.config.after_initialize do
|
74
|
+
Fixation.preload_for_spring
|
75
|
+
end
|
76
|
+
end
|
77
|
+
```
|
78
|
+
|
79
|
+
|
61
80
|
## Contributing
|
62
81
|
|
63
82
|
Bug reports and pull requests are welcome on GitHub at https://github.com/willbryant/fixation.
|
data/lib/fixation.rb
CHANGED
@@ -102,7 +102,7 @@ module Fixation
|
|
102
102
|
end
|
103
103
|
|
104
104
|
nonexistant_columns.each do |column_name|
|
105
|
-
association = reflection_class.
|
105
|
+
association = reflection_class.reflect_on_association(column_name)
|
106
106
|
|
107
107
|
if association.nil?
|
108
108
|
raise ActiveRecord::Fixture::FormatError, "No column named #{column_name} found in table #{table_name}"
|
@@ -138,6 +138,7 @@ module Fixation
|
|
138
138
|
columns_to_include = Set.new
|
139
139
|
embellished_rows.each do |name, attributes|
|
140
140
|
attributes.each do |column_name, value|
|
141
|
+
raise ActiveRecord::Fixture::FormatError, "No column named #{column_name.inspect} found in table #{table_name.inspect} (attribute on fixture #{name.inspect})" unless columns_hash[column_name]
|
141
142
|
columns_to_include.add(columns_hash[column_name])
|
142
143
|
end
|
143
144
|
end
|
data/lib/fixation/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fixation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Will Bryant
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|