Always treat formula files as UTF-8
This commit is contained in:
parent
18bb32a04d
commit
7d8bec3f20
@ -17,7 +17,8 @@ class Formulary
|
|||||||
def self.load_formula(name, path)
|
def self.load_formula(name, path)
|
||||||
mod = Module.new
|
mod = Module.new
|
||||||
const_set("FormulaNamespace#{Digest::MD5.hexdigest(path.to_s)}", mod)
|
const_set("FormulaNamespace#{Digest::MD5.hexdigest(path.to_s)}", mod)
|
||||||
mod.module_eval(path.read, path)
|
contents = path.open("r") { |f| set_encoding(f).read }
|
||||||
|
mod.module_eval(contents, path)
|
||||||
class_name = class_s(name)
|
class_name = class_s(name)
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -29,6 +30,16 @@ class Formulary
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if IO.method_defined?(:set_encoding)
|
||||||
|
def self.set_encoding(io)
|
||||||
|
io.set_encoding(Encoding::UTF_8)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
def self.set_encoding(io)
|
||||||
|
io
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def self.class_s name
|
def self.class_s name
|
||||||
class_name = name.capitalize
|
class_name = name.capitalize
|
||||||
class_name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase }
|
class_name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user