lib/conifer.rb in conifer-1.0.0 vs lib/conifer.rb in conifer-1.1.0

- old
+ new

@@ -6,23 +6,24 @@ module Conifer def self.included(base) base.extend ClassMethods end + # rubocop:disable Metrics/ParameterLists module ClassMethods - def conifer(name, prefix: nil, dir: nil, method: ::File.basename(name.to_s, '.yml'), singleton: false) + def conifer(name, prefix: nil, dir: nil, method: ::File.basename(name.to_s, '.yml'), singleton: false, + allowed_classes: []) dir ||= ::File.expand_path(::File.dirname(caller_locations.first.path)) body = proc do return instance_variable_get("@conifer_#{method}") if instance_variable_defined?("@conifer_#{method}") - instance_variable_set "@conifer_#{method}", Conifer::File.new(name, prefix: prefix, dir: dir).tap(&:validate!) + instance_variable_set "@conifer_#{method}", + Conifer::File.new(name, prefix: prefix, dir: dir, allowed_classes: allowed_classes) + .tap(&:validate!) end - if singleton - define_singleton_method method, &body - else - define_method method, &body - end + singleton ? define_singleton_method(method, &body) : define_method(method, &body) end + # rubocop:enable Metrics/ParameterLists end end