instiki/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb
Jacques Distler 5292899c9a Rails 2.1 RC1
Updated Instiki to Rails 2.1 RC1 (aka 2.0.991).
2008-05-17 23:22:34 -05:00

33 lines
896 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
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
end
end
end
end