[#85349] [Ruby trunk Bug#14334] Segmentation fault after running rspec (ruby/2.5.0/erb.rb:885 / simplecov/source_file.rb:85) — pragtob@...
Issue #14334 has been updated by PragTob (Tobias Pfeiffer).
3 messages
2018/02/02
[#85358] Re: [ruby-cvs:69220] nobu:r62039 (trunk): compile.c: unnecessary freezing — Eric Wong <normalperson@...>
nobu@ruby-lang.org wrote:
5 messages
2018/02/03
[#85612] Why require autoconf 2.67+ — leam hall <leamhall@...>
Please pardon the intrusion; I am new to Ruby and like to pull the
6 messages
2018/02/17
[#85634] [Ruby trunk Bug#14494] [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros — normalperson@...
Issue #14494 has been reported by normalperson (Eric Wong).
3 messages
2018/02/19
[#85674] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — matz@...
Issue #13618 has been updated by matz (Yukihiro Matsumoto).
5 messages
2018/02/20
[#85686] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/02/20
matz@ruby-lang.org wrote:
[#85704] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Koichi Sasada <ko1@...>
2018/02/21
On 2018/02/20 18:06, Eric Wong wrote:
[ruby-core:85643] [Ruby trunk Feature#14332][Assigned] Module.used_refinements to list refinement modules
From:
shugo@...
Date:
2018-02-19 10:02:10 UTC
List:
ruby-core #85643
Issue #14332 has been updated by shugo (Shugo Maeda).
Status changed from Open to Assigned
Eregon (Benoit Daloze) wrote:
> Module.used_modules was added in #7418.
> But I think `Module.used_refinements` is more useful or at least complementary.
I'm for it, but I'd like to hear others' opinions.
----------------------------------------
Feature #14332: Module.used_refinements to list refinement modules
https://bugs.ruby-lang.org/issues/14332#change-70434
* Author: Eregon (Benoit Daloze)
* Status: Assigned
* Priority: Normal
* Assignee: shugo (Shugo Maeda)
* Target version: 2.6
----------------------------------------
Module.used_modules was added in #7418.
But I think `Module.used_refinements` is more useful or at least complementary.
Refinements were implemented in TruffleRuby, and I found Module.used_refinements so useful that I left it there.
Instead of listing namespace modules (arguments to #using), it lists the refinement modules:
~~~ ruby
module Json
refine Integer do
def to_json
to_s
end
end
refine String do
def to_json
inspect
end
end
end
module Fact
refine Integer do
def fact
self <= 1 ? 1 : self * (self-1).fact
end
end
end
using Json
p Module.used_modules # => [Json]
p Module.used_refinements # => [#<refinement:Integer@Json>, #<refinement:String@Json>]
using Fact
p Module.used_modules # => [Json, Fact]
p Module.used_refinements # => [#<refinement:Integer@Fact>, #<refinement:Integer@Json>, #<refinement:String@Json>]
~~~
This shows which classes are refined and by which refinement namespace.
It also shows if a class has multiple active refinements in the scope.
And, last but not least, the name of the method is contains "refinements".
I find `used_modules` hard to remember and it doesn't sound related to refinements from the name (while looking at the Module's methods).
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>