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