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