2007-12-21 08:48:59 +01:00
|
|
|
module ActiveSupport #:nodoc:
|
|
|
|
module CoreExtensions #:nodoc:
|
|
|
|
module Array #:nodoc:
|
|
|
|
# Makes it easier to access parts of an array.
|
|
|
|
module Access
|
2008-05-18 06:22:34 +02:00
|
|
|
# Returns the tail of the array from +position+.
|
2007-12-21 08:48:59 +01:00
|
|
|
#
|
|
|
|
# %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
|
2008-10-27 07:47:01 +01:00
|
|
|
# %w().from(0) # => nil
|
2007-12-21 08:48:59 +01:00
|
|
|
def from(position)
|
|
|
|
self[position..-1]
|
|
|
|
end
|
|
|
|
|
2008-05-18 06:22:34 +02:00
|
|
|
# Returns the beginning of the array up to +position+.
|
2007-12-21 08:48:59 +01:00
|
|
|
#
|
|
|
|
# %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 )
|
2008-10-27 07:47:01 +01:00
|
|
|
# %w().to(0) # => %w()
|
2007-12-21 08:48:59 +01:00
|
|
|
def to(position)
|
|
|
|
self[0..position]
|
|
|
|
end
|
2008-10-27 07:47:01 +01:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2008-11-24 22:53:39 +01:00
|
|
|
# Equal to <tt>self[41]</tt>. Also known as accessing "the reddit".
|
|
|
|
def forty_two
|
|
|
|
self[41]
|
2008-10-27 07:47:01 +01:00
|
|
|
end
|
2007-12-21 08:48:59 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|