summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith84@gmail.com>2020-10-16 15:03:34 -0700
committerTim Smith <tsmith84@gmail.com>2020-10-16 15:03:34 -0700
commitab6f1157723771844f0c0e68fa43c3e5f050932b (patch)
tree14ae6dec45fd71d6d5d74fc5587343645caa84fd
parent073be3666d1bf7480ec9a2f40291b2ed0fc691a1 (diff)
downloadchef-ab6f1157723771844f0c0e68fa43c3e5f050932b.tar.gz
Remove constantize method from Chef::Mixin::ConvertToClassName
It doesn't look like we're using this anymore and the comment states that we wouldn't need the implementation after Ruby 2.0 anyways. Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--lib/chef/mixin/convert_to_class_name.rb56
1 files changed, 0 insertions, 56 deletions
diff --git a/lib/chef/mixin/convert_to_class_name.rb b/lib/chef/mixin/convert_to_class_name.rb
index 7bdbd7d39c..de11110574 100644
--- a/lib/chef/mixin/convert_to_class_name.rb
+++ b/lib/chef/mixin/convert_to_class_name.rb
@@ -66,62 +66,6 @@ class Chef
str = base.to_s + (file_base == "default" ? "" : "_#{file_base}")
normalize_snake_case_name(str)
end
-
- # Copied from rails activesupport. In ruby >= 2.0 const_get will just do this, so this can
- # be deprecated and removed.
- #
- # MIT LICENSE is here: https://github.com/rails/rails/blob/master/activesupport/MIT-LICENSE
-
- # Tries to find a constant with the name specified in the argument string.
- #
- # 'Module'.constantize # => Module
- # 'Test::Unit'.constantize # => Test::Unit
- #
- # The name is assumed to be the one of a top-level constant, no matter
- # whether it starts with "::" or not. No lexical context is taken into
- # account:
- #
- # C = 'outside'
- # module M
- # C = 'inside'
- # C # => 'inside'
- # 'C'.constantize # => 'outside', same as ::C
- # end
- #
- # NameError is raised when the name is not in CamelCase or the constant is
- # unknown.
- def constantize(camel_cased_word)
- names = camel_cased_word.split("::")
-
- # Trigger a built-in NameError exception including the ill-formed constant in the message.
- Object.const_get(camel_cased_word) if names.empty?
-
- # Remove the first blank element in case of '::ClassName' notation.
- names.shift if names.size > 1 && names.first.empty?
-
- names.inject(Object) do |constant, name|
- if constant == Object
- constant.const_get(name)
- else
- candidate = constant.const_get(name)
- next candidate if constant.const_defined?(name, false)
- next candidate unless Object.const_defined?(name)
-
- # Go down the ancestors to check if it is owned directly. The check
- # stops when we reach Object or the end of ancestors tree.
- constant = constant.ancestors.inject do |const, ancestor|
- break const if ancestor == Object
- break ancestor if ancestor.const_defined?(name, false)
-
- const
- end
-
- # owner is in Object, so raise
- constant.const_get(name, false)
- end
- end
- end
-
end
end
end