aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-03-30 06:51:52 -0300
committerRafael França <rafaelmfranca@gmail.com>2016-03-30 06:51:52 -0300
commit7e976fd84d7c4604575653774d7fe44738f8ef43 (patch)
tree49de25d98060127464860e9f5e772b6a645601d6 /activerecord
parente98a0a1d7d935e1b4bb9bce1215aaaa8be812300 (diff)
parent32045717e6bb62d9f3bec6e003dd6c4a74369ae2 (diff)
downloadrails-7e976fd84d7c4604575653774d7fe44738f8ef43.tar.gz
rails-7e976fd84d7c4604575653774d7fe44738f8ef43.tar.bz2
rails-7e976fd84d7c4604575653774d7fe44738f8ef43.zip
Merge pull request #24356 from denofevil/fixture_filename
provide file name for fixture ERB
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/fixture_set/file.rb8
-rw-r--r--activerecord/test/cases/fixture_set/file_test.rb6
2 files changed, 13 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/fixture_set/file.rb b/activerecord/lib/active_record/fixture_set/file.rb
index f969556c50..e4a44244e2 100644
--- a/activerecord/lib/active_record/fixture_set/file.rb
+++ b/activerecord/lib/active_record/fixture_set/file.rb
@@ -52,9 +52,15 @@ module ActiveRecord
end
end
+ def prepare_erb(content)
+ erb = ERB.new(content)
+ erb.filename = @file
+ erb
+ end
+
def render(content)
context = ActiveRecord::FixtureSet::RenderContext.create_subclass.new
- ERB.new(content).result(context.get_binding)
+ prepare_erb(content).result(context.get_binding)
end
# Validate our unmarshalled data.
diff --git a/activerecord/test/cases/fixture_set/file_test.rb b/activerecord/test/cases/fixture_set/file_test.rb
index 242e7a9bec..e64b90507e 100644
--- a/activerecord/test/cases/fixture_set/file_test.rb
+++ b/activerecord/test/cases/fixture_set/file_test.rb
@@ -135,6 +135,12 @@ END
end
end
+ def test_erb_filename
+ filename = 'filename.yaml'
+ erb = File.new(filename).send(:prepare_erb, "<% Rails.env %>\n")
+ assert_equal erb.filename, filename
+ end
+
private
def tmp_yaml(name, contents)
t = Tempfile.new name