Froze rails gems
[depot.git] / vendor / rails / activesupport / lib / active_support / core_ext / array / access.rb
diff --git a/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb b/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb
new file mode 100644 (file)
index 0000000..6de338b
--- /dev/null
@@ -0,0 +1,53 @@
+module ActiveSupport #:nodoc:
+  module CoreExtensions #:nodoc:
+    module Array #:nodoc:
+      # Makes it easier to access parts of an array.
+      module Access
+        # Returns the tail of the array from +position+.
+        #
+        #   %w( a b c d ).from(0)  # => %w( a b c d )
+        #   %w( a b c d ).from(2)  # => %w( c d )
+        #   %w( a b c d ).from(10) # => nil
+        #   %w().from(0)           # => nil
+        def from(position)
+          self[position..-1]
+        end
+        
+        # Returns the beginning of the array up to +position+.
+        #
+        #   %w( a b c d ).to(0)  # => %w( a )
+        #   %w( a b c d ).to(2)  # => %w( a b c )
+        #   %w( a b c d ).to(10) # => %w( a b c d )
+        #   %w().to(0)           # => %w()
+        def to(position)
+          self[0..position]
+        end
+
+        # Equal to <tt>self[1]</tt>.
+        def second
+          self[1]
+        end
+
+        # Equal to <tt>self[2]</tt>.
+        def third
+          self[2]
+        end
+
+        # Equal to <tt>self[3]</tt>.
+        def fourth
+          self[3]
+        end
+
+        # Equal to <tt>self[4]</tt>.
+        def fifth
+          self[4]
+        end
+
+        # Equal to <tt>self[41]</tt>. Also known as accessing "the reddit".
+        def forty_two
+          self[41]
+        end
+      end
+    end
+  end
+end