X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fcore_ext%2Frange%2Fblockless_step.rb;fp=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fcore_ext%2Frange%2Fblockless_step.rb;h=6fa1eb5bee61c6524ecfc62f42400a2206c2b9ae;hb=437aa336c44c74a30aeea16a06743c32747ed661;hp=0000000000000000000000000000000000000000;hpb=97a0772b06264134cfe38e7494f9427efe0840a0;p=feedcatcher.git diff --git a/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb b/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb new file mode 100644 index 0000000..6fa1eb5 --- /dev/null +++ b/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb @@ -0,0 +1,32 @@ +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