Froze rails gems
[depot.git] / vendor / rails / activesupport / lib / active_support / core_ext / range / blockless_step.rb
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 (file)
index 0000000..6fa1eb5
--- /dev/null
@@ -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