-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
-
- if RUBY_VERSION < '1.9'
- def step_with_blockless(value = 1, &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 = 1, &block)
- if block_given?
- step_without_blockless(value, &block)
- else
- step_without_blockless(value).to_a
- end
- end
- end
- end
- end
- end
-end