1 module ExtensionFixtureTestHelper
2 def self.included(base)
3 unless base < ClassMethods
4 base.send :include, InstanceMethods
5 base.extend ClassMethods
7 class_inheritable_accessor :extension_fixture_table_names, :extension_fixture_path
8 self.extension_fixture_table_names = []
9 self.extension_fixture_path = ""
10 alias_method_chain :load_fixtures, :extensions
16 def extension_fixtures(*table_names)
17 table_names = table_names.flatten.map { |n| n.to_s }
18 self.extension_fixture_table_names = table_names
19 require_fixture_classes(table_names)
20 setup_fixture_accessors(table_names)
24 module InstanceMethods
25 def load_fixtures_with_extensions
27 fixtures = Fixtures.create_fixtures(fixture_path, fixture_table_names, fixture_class_names),
28 extension_fixtures = Fixtures.create_fixtures(extension_fixture_path, extension_fixture_table_names, fixture_class_names)
29 [fixtures, extension_fixtures].each do |f|
31 if f.instance_of?(Fixtures)
32 @loaded_fixtures[f.table_name] = f
34 f.each { |x| @loaded_fixtures[x.table_name] = x unless x.nil? }