summaryrefslogtreecommitdiff
path: root/spec/ruby/core/module
AgeCommit message (Collapse)Author
2023-09-04Update to ruby/spec@96d1072Benoit Daloze
2023-08-02Update to ruby/spec@9e278f5Benoit Daloze
2023-07-24Use the caller location as default filename for eval family of methodsJean Boussier
[Feature #19755] Before (in /tmp/test.rb): ```ruby Object.class_eval("p __FILE__") # => "(eval)" ``` After: ```ruby Object.class_eval("p __FILE__") # => "(eval at /tmp/test.rb:1)" ``` This makes it much easier to track down generated code in case the author forgot to provide a filename argument. Notes: Merged: https://github.com/ruby/ruby/pull/8070
2023-07-06Improve ArgumentError message for Module#set_temporary_nameBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/8035
2023-07-06Ensure the name given to Module#set_temporary_name is not a valid constant pathBenoit Daloze
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/8035
2023-07-06Specs for Module#set_temporary_name should be in their own fileBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/8035
2023-06-26Update to ruby/spec@30e1c35Benoit Daloze
2023-06-21Allow setting the name of a class or module. (#7483)Samuel Williams
Introduce `Module#set_temporary_name` for setting identifiers for otherwise anonymous modules/classes. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2023-05-29Update to ruby/spec@c3677cfBenoit Daloze
2023-04-25Update to ruby/spec@7f69c86Benoit Daloze
2023-02-27Update to ruby/spec@e7dc804Benoit Daloze
2023-01-05Update to ruby/spec@9d69b95Benoit Daloze
2022-12-03UnboundMethod only refer defined_classKoichi Sasada
UnboundMethod records caller's class, like `D` or `E` on the following case: ```ruby class C def foo = :foo end class D < C end class E < C end d = D.instance_method(:foo) e = E.instance_method(:foo) ``` But `d` and `e` only refers `C#foo` so that UnboundMethod doesn't record `D` or `E`. This behavior changes the following methods: * `UnboundMethod#inspect` (doesn't show caller's class) * `UnboundMethod#==` (`d == e` for example) fix https://bugs.ruby-lang.org/issues/18798 Notes: Merged: https://github.com/ruby/ruby/pull/6855
2022-09-28Update to ruby/spec@1d9d5c6Benoit Daloze
2022-06-26Update to ruby/spec@ab32a1aBenoit Daloze
2022-06-18[Bug #18813] Warn when autoload has to lookup in parent namespaceJean Boussier
This is a verbose mode only warning. Notes: Merged: https://github.com/ruby/ruby/pull/6038
2022-04-25Update to ruby/spec@3affe1eBenoit Daloze
2022-03-28Update to ruby/spec@aaf998fBenoit Daloze
2022-01-28Update to ruby/spec@902ab83Benoit Daloze
2022-01-23Fix a typo [ci skip]Kazuhiro NISHIYAMA
2022-01-15Fix spec failures on ruby 3.1Kazuhiro NISHIYAMA
Because Module#const_added is ruby 3.2 feature
2022-01-14Add a Module#const_added callbackJean Boussier
[Feature #17881] Works similarly to `method_added` but for constants. ```ruby Foo::BAR = 42 # call Foo.const_added(:FOO) class Foo::Baz; end # call Foo.const_added(:Baz) Foo.autoload(:Something, "path") # call Foo.const_added(:Something) ``` Notes: Merged: https://github.com/ruby/ruby/pull/4521
2022-01-10Update to ruby/spec@226cfdcBenoit Daloze
2021-12-26Remove Refinement#include and Refinement#prependNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5348
2021-11-18Make Module#{public,private,protected,module_function} return argumentsJeremy Evans
Previously, each of these methods returned self, but it is more useful to return arguments, to allow for simpler method decorators, such as: ```ruby cached private def foo; some_long_calculation; end ``` Where cached sets up caching for the method. For each of these methods, the following behavior is used: 1) No arguments returns nil 2) Single argument is returned 3) Multiple arguments are returned as an array The single argument case is really the case we are trying to optimize for, for the same reason that def was changed to return a symbol for the method. Idea and initial patch from Herwin Quarantainenet. Implements [Feature #12495] Notes: Merged: https://github.com/ruby/ruby/pull/5037
2021-10-28Update to ruby/spec@21a48d9Benoit Daloze
2021-10-22Refinement#include and Refinement#prepend have been deprecatedNobuyoshi Nakada
2021-10-22Refinement#include and Refinement#prepend have been deprecatedNobuyoshi Nakada
2021-10-20Update to ruby/spec@254c380Benoit Daloze
2021-10-20Update to ruby/spec@d6921efBenoit Daloze
2021-10-08Remove autoload for constant if the autoload failsJeremy Evans
Previously, if an autoload failed (the file was loaded, but the constant was not defined by the autoloaded file). Ruby will try to autoload again if you delete the autoloaded file from $LOADED_FEATURES. With this change, the autoload and the constant itself are removed as soon as it fails. To handle cases where multiple threads are autoloading, when deleting an autoload, handle the case where another thread already deleted it. Fixes [Bug #15790] Notes: Merged: https://github.com/ruby/ruby/pull/4715 Merged-By: jeremyevans <code@jeremyevans.net>
2021-09-17Removed Module.allocate [Bug #17048]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4858
2021-09-07Update to ruby/spec@b1e93a2Benoit Daloze
2021-07-29Update to ruby/spec@b65d01fBenoit Daloze
2021-06-02Update to ruby/spec@a0b7d0dBenoit Daloze
2021-02-27Update to ruby/spec@37e52e5Benoit Daloze
2021-01-28Update to ruby/spec@8cafaa5Benoit Daloze
2020-12-24Fix typosMarcus Stollsteimer
2020-12-21Use Integer instead of Fixnum/BignumNobuyoshi Nakada
2020-12-21Fixnum as a Symbol was an old feature until 1.6Nobuyoshi Nakada
2020-12-19Feature 17314: allow to pass array to public, protected and private methodsRadosław Bułat
2020-12-19Feature 17314: alias_method returns symbolRadosław Bułat
2020-12-19spec/ruby/core/module/attr_*: Add version guardsYusuke Endoh
2020-12-19attr_reader, attr_writer, attr_accessor and attr methods returns array of ↵Radosław Bułat
symbols (#3935) Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Notes: Merged-By: mame <mame@ruby-lang.org>
2020-12-18Revert "Better cooperation between public/protected/private with attr* and ↵Yusuke Endoh
alias_method" This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b.
2020-12-17Better cooperation between public/protected/private with attr* and alias_methodRadosław Bułat
Notes: Merged: https://github.com/ruby/ruby/pull/3757
2020-11-13Update to ruby/spec@b0b7f53Benoit Daloze
2020-10-24Update to ruby/spec@4f59d86Benoit Daloze
2020-09-30Update to ruby/spec@bfd843aBenoit Daloze
2020-09-25Disable deprecation warning by the default [Feature #16345]Nobuyoshi Nakada
And `-w` option turns it on. Notes: Merged: https://github.com/ruby/ruby/pull/3481