Class: FixtureBox
- Inherits:
-
Object
- Object
- FixtureBox
- Defined in:
- lib/fixture_box.rb,
lib/fixture_box/version.rb
Constant Summary collapse
- VERSION =
'0.1.1'
Instance Method Summary collapse
-
#initialize(data, class_names = {}) ⇒ FixtureBox
constructor
A new instance of FixtureBox.
Constructor Details
#initialize(data, class_names = {}) ⇒ FixtureBox
Returns a new instance of FixtureBox.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/fixture_box.rb', line 7 def initialize(data, class_names={}) data = data.stringify_keys class_names = class_names.stringify_keys Dir.mktmpdir do |tmp_fixtures_dir| decorated_fixture_set_names = [] decorated_class_names = {} data.each do |fixture_set_name, fixture_data| fixture_class = class_names[fixture_set_name] || fixture_set_name.to_s.classify.constantize decorated_fixture_set_name = decorate_fixture_set_name(fixture_set_name) decorated_fixture_set_names << decorated_fixture_set_name decorated_class_names[decorated_fixture_set_name] = fixture_class File.open(File.join(tmp_fixtures_dir, "#{decorated_fixture_set_name}.yml"), 'w') do |file| YAML.dump(fixture_data.deep_stringify_keys, file) end end fixtures = ActiveRecord::FixtureSet.create_fixtures(tmp_fixtures_dir, decorated_fixture_set_names, decorated_class_names) @loaded_fixture_sets = Hash[fixtures.map { |f| [f.name, f] }] end setup_fixture_accessors end |