[ruby/digest] Prefer `rb_const_get` over `rb_path2class` for direct constants

https://github.com/ruby/digest/commit/e5d30394b3
This commit is contained in:
Nobuyoshi Nakada 2024-01-26 12:13:21 +09:00 коммит произвёл git
Родитель f475dc1cd2
Коммит 81702b4b87
5 изменённых файлов: 10 добавлений и 11 удалений

Просмотреть файл

@ -129,15 +129,14 @@ Init_bubblebabble(void)
rb_require("digest");
rb_mDigest = rb_path2class("Digest");
rb_mDigest_Instance = rb_path2class("Digest::Instance");
rb_cDigest_Class = rb_path2class("Digest::Class");
#if 0
rb_mDigest = rb_define_module("Digest");
rb_mDigest_Instance = rb_define_module_under(rb_mDigest, "Instance");
rb_cDigest_Class = rb_define_class_under(rb_mDigest, "Class", rb_cObject);
#endif
rb_mDigest = rb_digest_namespace();
rb_mDigest_Instance = rb_const_get(rb_mDigest, rb_intern_const("Instance"));
rb_cDigest_Class = rb_const_get(rb_mDigest, rb_intern_const("Class"));
rb_define_module_function(rb_mDigest, "bubblebabble", rb_digest_s_bubblebabble, 1);
rb_define_singleton_method(rb_cDigest_Class, "bubblebabble", rb_digest_class_s_bubblebabble, -1);

Просмотреть файл

@ -53,9 +53,8 @@ Init_md5(void)
mDigest = rb_define_module("Digest"); /* let rdoc know */
#endif
mDigest = rb_digest_namespace();
cDigest_Base = rb_path2class("Digest::Base");
cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base"));
cDigest_MD5 = rb_define_class_under(mDigest, "MD5", cDigest_Base);
rb_iv_set(cDigest_MD5, "metadata", rb_digest_make_metadata(&md5));
}

Просмотреть файл

@ -49,9 +49,8 @@ Init_rmd160(void)
mDigest = rb_define_module("Digest"); /* let rdoc know */
#endif
mDigest = rb_digest_namespace();
cDigest_Base = rb_path2class("Digest::Base");
cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base"));
cDigest_RMD160 = rb_define_class_under(mDigest, "RMD160", cDigest_Base);
rb_iv_set(cDigest_RMD160, "metadata", rb_digest_make_metadata(&rmd160));
}

Просмотреть файл

@ -55,9 +55,8 @@ Init_sha1(void)
mDigest = rb_define_module("Digest"); /* let rdoc know */
#endif
mDigest = rb_digest_namespace();
cDigest_Base = rb_path2class("Digest::Base");
cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base"));
cDigest_SHA1 = rb_define_class_under(mDigest, "SHA1", cDigest_Base);
rb_iv_set(cDigest_SHA1, "metadata", rb_digest_make_metadata(&sha1));
}

Просмотреть файл

@ -40,8 +40,11 @@ Init_sha2(void)
FOREACH_BITLEN(DECLARE_ALGO_CLASS)
#if 0
mDigest = rb_define_module("Digest"); /* let rdoc know */
#endif
mDigest = rb_digest_namespace();
cDigest_Base = rb_path2class("Digest::Base");
cDigest_Base = rb_const_get(mDigest, rb_intern_const("Base"));
#define DEFINE_ALGO_CLASS(bitlen) \
cDigest_SHA##bitlen = rb_define_class_under(mDigest, "SHA" #bitlen, cDigest_Base); \