mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #13059 from imkmf/cycle-accepts-array
Cycle object should accept an array Conflicts: actionview/CHANGELOG.md
This commit is contained in:
commit
a220b1518d
3 changed files with 26 additions and 1 deletions
|
@ -1,3 +1,21 @@
|
|||
* A Cycle object should accept an array and cycle through it as it would with a set of
|
||||
comma-separated objects.
|
||||
|
||||
arr = [1,2,3]
|
||||
cycle(arr) # => '1'
|
||||
cycle(arr) # => '2'
|
||||
cycle(arr) # => '3'
|
||||
|
||||
Previously, it would return the array as a string, because it took the array as a
|
||||
single object:
|
||||
|
||||
arr = [1,2,3]
|
||||
cycle(arr) # => '[1,2,3]'
|
||||
cycle(arr) # => '[1,2,3]'
|
||||
cycle(arr) # => '[1,2,3]'
|
||||
|
||||
*Kristian Freeman*
|
||||
|
||||
* Label tags generated by collection helpers only inherit the `:index` and
|
||||
`:namespace` from the input, because only these attributes modifies the
|
||||
`for` attribute of the label. Also, the input attributes don't have
|
||||
|
|
|
@ -316,7 +316,7 @@ module ActionView
|
|||
options = values.extract_options!
|
||||
name = options.fetch(:name, 'default')
|
||||
|
||||
values.unshift(first_value)
|
||||
values.unshift(*first_value)
|
||||
|
||||
cycle = get_cycle(name)
|
||||
unless cycle && cycle.values == values
|
||||
|
|
|
@ -386,6 +386,13 @@ class TextHelperTest < ActionView::TestCase
|
|||
assert_equal("3", cycle("one", 2, "3"))
|
||||
end
|
||||
|
||||
def test_cycle_with_array
|
||||
array = [1, 2, 3]
|
||||
assert_equal("1", cycle(array))
|
||||
assert_equal("2", cycle(array))
|
||||
assert_equal("3", cycle(array))
|
||||
end
|
||||
|
||||
def test_cycle_with_no_arguments
|
||||
assert_raise(ArgumentError) { cycle }
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue