diff options
author | aycabta <[email protected]> | 2021-02-06 21:07:11 +0900 |
---|---|---|
committer | git <[email protected]> | 2021-02-06 21:09:31 +0900 |
commit | 7b354cf67ba95305b600cc8b3ba684923cdc5a98 (patch) | |
tree | b6215c4c41cf913f4ceb8353d205414486939515 /lib/irb/init.rb | |
parent | 5704b5fe5e42bd5b1f42a27368cd5d52dd5a9060 (diff) |
[ruby/irb] Enable to reassign a new block with "measure" command
https://github.com/ruby/irb/commit/b444573aa2
Diffstat (limited to 'lib/irb/init.rb')
-rw-r--r-- | lib/irb/init.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/irb/init.rb b/lib/irb/init.rb index cd57012c61..78ef2fa3c1 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -157,6 +157,14 @@ module IRB # :nodoc: added = [:CUSTOM, IRB.conf[:MEASURE_PROC][:CUSTOM], arg] elsif block_given? added = [:BLOCK, block, arg] + found = IRB.conf[:MEASURE_CALLBACKS].find{ |m| m[0] == added[0] && m[2] == added[2] } + if found + found[1] = block + return added + else + IRB.conf[:MEASURE_CALLBACKS] << added + return added + end else added = [:TIME, IRB.conf[:MEASURE_PROC][:TIME], arg] end |