fixture_dependencies 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98eac6d05142ec20f33ae35a9bb292eb405aeb04
4
- data.tar.gz: e455545c0647455a9fc025f31ab8bedd5c9cfa99
3
+ metadata.gz: 877d9ca54c211da2669f1b1b3cab5a8e6d2a1392
4
+ data.tar.gz: fa0af29b417430076a9edf64a0b1446c27436960
5
5
  SHA512:
6
- metadata.gz: 8215ffa2a4e415da07ee2f45c36ee22807fa856cb39d6fecfec4f9b909fb5d3d2f26ce1444543731fcfedb43567febcc5b973b3e522dc484f4b5bb385b21604d
7
- data.tar.gz: bd884b1dd148e3b8432baa6151d2b552c9474325296cb3c939311c3b62649af2e4351f0f7cdaf74e8c967024f95c3d13840746288a1708950be25a9e8f568b91
6
+ metadata.gz: 99ecbc859a9d13abd029484a3b9bd70ed68951d81ca64f2157ba12827b10e30534d0520079d4934b73e5ae38cacd0942830ed9f107398b6fea31cbb465edf7f1
7
+ data.tar.gz: 91655d4afc2f5cd99e1e30e512a32d39c1a815cb152e172d207d8a4d70b555f5ac6395c412e9f7644a14316f6df09931ae5a0ff28db4d516838589fde618c271
data/README.md CHANGED
@@ -371,6 +371,20 @@ override the default mapping:
371
371
  and then use :bar__baz to load the fixture with name baz for the model
372
372
  Foo::Bar.
373
373
 
374
+ ## Custom Fixture Filenames
375
+
376
+ Fixture dependencies will look for a file that corresponds to the table name
377
+ for the model by default. You can override this by defining a fixtures_filename
378
+ class method in the model:
379
+
380
+ ```
381
+ class Artist < Sequel::Model
382
+ def self.fixture_filename
383
+ :artists_custom_fixture_file
384
+ end
385
+ end
386
+ ```
387
+
374
388
  ## Troubleshooting
375
389
 
376
390
  If you run into problems with loading your fixtures, it can be difficult to see
@@ -106,7 +106,8 @@ class << FixtureDependencies
106
106
  def load_yaml(model_name)
107
107
  raise(ArgumentError, "No fixture_path set. Use FixtureDependencies.fixture_path = ...") unless fixture_path
108
108
 
109
- filename = model_class(model_name).table_name
109
+ klass = model_class(model_name)
110
+ filename = klass.send(klass.respond_to?(:fixture_filename) ? :fixture_filename : :table_name)
110
111
  yaml_path = File.join(fixture_path, "#{filename}.yml")
111
112
 
112
113
  if File.exist?(yaml_path)
@@ -210,9 +211,11 @@ class << FixtureDependencies
210
211
  if polymorphic_association?(value)
211
212
  value, polymorphic_class = polymorphic_association(value)
212
213
  reflection[:class_name] = polymorphic_class
214
+ dep_name = "#{polymorphic_class.to_s.underscore}__#{value}".to_sym
215
+ else
216
+ dep_name = "#{model_method(:reflection_class, mtype, reflection).name.underscore}__#{value}".to_sym
213
217
  end
214
218
 
215
- dep_name = "#{model_method(:reflection_class, mtype, reflection).name.underscore}__#{value}".to_sym
216
219
  if dep_name == record
217
220
  # Self referential record, use primary key
218
221
  puts "#{spaces}#{record}.#{attr}: belongs_to self-referential" if verbose > 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fixture_dependencies
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-25 00:00:00.000000000 Z
11
+ date: 2017-04-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: code@jeremyevans.net
@@ -53,7 +53,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
53
53
  version: '0'
54
54
  requirements: []
55
55
  rubyforge_project:
56
- rubygems_version: 2.5.1
56
+ rubygems_version: 2.6.11
57
57
  signing_key:
58
58
  specification_version: 4
59
59
  summary: Sequel/ActiveRecord fixture loader that handles dependency graphs