mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Added Array#from and Array#to that behaves just from String#from and String#to [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8224 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Added Array#from and Array#to that behaves just from String#from and String#to [DHH]
|
||||
|
||||
* Fix that empty collections should be treated as empty arrays regardless of whitespace for Hash#from_xml #10255 [adamj]
|
||||
|
||||
* Time#time_with_datetime_fallback, Time#to_datetime, Date#to_datetime and String#to_datetime honor Ruby's default calendar reform setting. #10201 [Geoff Buesing]
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
require 'active_support/core_ext/array/access'
|
||||
require 'active_support/core_ext/array/conversions'
|
||||
require 'active_support/core_ext/array/extract_options'
|
||||
require 'active_support/core_ext/array/grouping'
|
||||
require 'active_support/core_ext/array/random_access'
|
||||
|
||||
class Array #:nodoc:
|
||||
include ActiveSupport::CoreExtensions::Array::Access
|
||||
include ActiveSupport::CoreExtensions::Array::Conversions
|
||||
include ActiveSupport::CoreExtensions::Array::ExtractOptions
|
||||
include ActiveSupport::CoreExtensions::Array::Grouping
|
||||
|
||||
28
activesupport/lib/active_support/core_ext/array/access.rb
Normal file
28
activesupport/lib/active_support/core_ext/array/access.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module Array #:nodoc:
|
||||
# Makes it easier to access parts of an array.
|
||||
module Access
|
||||
# Returns the remaining of the array from the +position+.
|
||||
#
|
||||
# Examples:
|
||||
# %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
|
||||
def from(position)
|
||||
self[position..-1]
|
||||
end
|
||||
|
||||
# Returns the beginning of the array up to the +position+.
|
||||
#
|
||||
# Examples:
|
||||
# %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 )
|
||||
def to(position)
|
||||
self[0..position]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,6 +1,20 @@
|
||||
require File.dirname(__FILE__) + '/../abstract_unit'
|
||||
require 'bigdecimal'
|
||||
|
||||
class ArrayExtAccessTests < Test::Unit::TestCase
|
||||
def test_from
|
||||
assert_equal %w( a b c d ), %w( a b c d ).from(0)
|
||||
assert_equal %w( c d ), %w( a b c d ).from(2)
|
||||
assert_nil %w( a b c d ).from(10)
|
||||
end
|
||||
|
||||
def test_to
|
||||
assert_equal %w( a ), %w( a b c d ).to(0)
|
||||
assert_equal %w( a b c ), %w( a b c d ).to(2)
|
||||
assert_equal %w( a b c d ), %w( a b c d ).to(10)
|
||||
end
|
||||
end
|
||||
|
||||
class ArrayExtToParamTests < Test::Unit::TestCase
|
||||
def test_string_array
|
||||
assert_equal '', %w().to_param
|
||||
|
||||
Reference in New Issue
Block a user