From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2023-05-01T00:25:32+00:00 Subject: [ruby-core:113384] [Ruby master Feature#19626] Alias Base64 methods to non-64 suffixed methods Issue #19626 has been updated by nobu (Nobuyoshi Nakada). Aliasing singleton methods only? ```diff diff --git a/lib/base64.rb b/lib/base64.rb index 15c0b297ce2..e148adeaaf1 100644 --- a/lib/base64.rb +++ b/lib/base64.rb @@ -110,4 +110,10 @@ end strict_decode64(str) end + + class << self + public_instance_methods(false).each do |m| + alias_method(m.to_s.chomp("64"), m) + end + end end ``` ```shell-session $ ./ruby -rbase64 -e 'p Base64.encode("\0"*3)' "AAAA\n" ``` ---------------------------------------- Feature #19626: Alias Base64 methods to non-64 suffixed methods https://bugs.ruby-lang.org/issues/19626#change-102955 * Author: ryanbigg (Ryan Bigg) * Status: Open * Priority: Normal ---------------------------------------- Long time Ruby user, first time issue poster. Apologies if this isn't the correct process of proposing this sort of change. Redirect me somewhere else if I need to be. I'd like to propose aliasing the methods in the Base64 module to new methods: Base64.encode64 -> Base64.encode Base64.decode64 -> Base64.decode etc. I am guessing that this suffix was used to prevent issues where `Base64` was included into a class and would (potentially) clash with that class's own `decode` and `encode` methods. This is not how `Base64` has been used in my experience -- it's typically a call to the method such as `Base64.encode64`. But maybe my experience of Ruby is unique in that way. I would still like to open this issue at least to start a potential discussion about these potential aliases, or at least documenting solid reasons why the 64 suffix has to stick. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/