blob: db42ef5c473eae1448819eafacd9aabd605aa6b8 (
plain) (
tree)
|
|
require 'active_support/core_ext/module/aliasing'
class Range
begin
(1..2).step
# Range#step doesn't return an Enumerator
rescue LocalJumpError
# Return an array when step is called without a block.
def step_with_blockless(*args, &block)
if block_given?
step_without_blockless(*args, &block)
else
array = []
step_without_blockless(*args) { |step| array << step }
array
end
end
else
def step_with_blockless(*args, &block) #:nodoc:
if block_given?
step_without_blockless(*args, &block)
else
step_without_blockless(*args).to_a
end
end
end
alias_method_chain :step, :blockless
end
|