Use ERB when importing conf files into app
This commit is contained in:
parent
9c4dc9a966
commit
60e1a5aa69
|
@ -63,7 +63,7 @@ class GlobalSetting
|
|||
end
|
||||
|
||||
def read
|
||||
File.read(@file).split("\n").each do |line|
|
||||
ERB.new(File.read(@file)).result().split("\n").each do |line|
|
||||
if line =~ /([a-z_]+)\s*=\s*(\"([^\"]*)\"|\'([^\']*)\'|[^#]*)/
|
||||
@data[$1.strip.to_sym] = ($4 || $3 || $2).strip
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# DO NOT EDIT THIS FILE
|
||||
# If you need to make changes create a file called discourse.conf in this directory with your changes
|
||||
# On inport this file will be imported using ERB
|
||||
#
|
||||
|
||||
# Discourse supports multiple mechanisms for production config.
|
||||
|
|
|
@ -31,4 +31,16 @@ describe GlobalSetting::FileProvider do
|
|||
f.unlink
|
||||
end
|
||||
|
||||
it "uses ERB" do
|
||||
f = Tempfile.new('foo')
|
||||
f.write("a = <%= 500 %> # this is a comment\n")
|
||||
f.close
|
||||
|
||||
provider = GlobalSetting::FileProvider.from(f.path)
|
||||
|
||||
provider.lookup(:a,"").should == 500
|
||||
|
||||
f.unlink
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue