23 lines
596 B
Ruby
23 lines
596 B
Ruby
|
module ActiveSupport #:nodoc:
|
||
|
module CoreExtensions #:nodoc:
|
||
|
module Range #:nodoc:
|
||
|
# Return an array when step is called without a block.
|
||
|
module BlocklessStep
|
||
|
def self.included(base) #: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 }
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|