mirror of
https://github.com/github/rails.git
synced 2026-02-04 03:05:27 -05:00
Ruby 1.9: use enumerator for blockless Range#step
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8469 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -7,12 +7,22 @@ module ActiveSupport #:nodoc:
|
||||
base.alias_method_chain :step, :blockless
|
||||
end
|
||||
|
||||
def step_with_blockless(value, &block)
|
||||
if block_given?
|
||||
step_without_blockless(value, &block)
|
||||
else
|
||||
returning [] do |array|
|
||||
step_without_blockless(value) { |step| array << step }
|
||||
if RUBY_VERSION < '1.9'
|
||||
def step_with_blockless(value, &block)
|
||||
if block_given?
|
||||
step_without_blockless(value, &block)
|
||||
else
|
||||
returning [] do |array|
|
||||
step_without_blockless(value) { |step| array << step }
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
def step_with_blockless(value, &block)
|
||||
if block_given?
|
||||
step_without_blockless(value, &block)
|
||||
else
|
||||
step_without_blockless(value).to_a
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user