lib/conifer/file.rb in conifer-1.0.0 vs lib/conifer/file.rb in conifer-1.1.0
- old
+ new
@@ -5,24 +5,25 @@
module Conifer
class File
NotFoundError = Class.new(StandardError)
- attr_reader :name, :prefix, :dir
+ attr_reader :name, :prefix, :dir, :allowed_classes
- def initialize(name, dir:, prefix: nil)
+ def initialize(name, dir:, prefix: nil, allowed_classes: [])
@name = name
@prefix = prefix
@dir = dir
+ @allowed_classes = allowed_classes
end
def [](key)
args = key.split('.').tap { |v| v.prepend(prefix) if prefix }
parsed.dig(*args)
end
def parsed
- @parsed ||= YAML.safe_load(ERB.new(::File.read(path)).result)
+ @parsed ||= YAML.safe_load(ERB.new(::File.read(path)).result, allowed_classes)
end
def path
return @path if defined? @path