提交 1eaa5212 编写于 作者: K Kristian Freeman

A Cycle object should accept an array and cycle through it as it would

with a set of comma-separated objects.
上级 93c74e1b
* 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*
* Use `set_backtrace` instead of instance variable `@backtrace` in ActionView exceptions
*Shimpei Makimoto*
......
......@@ -314,7 +314,7 @@ def cycle(first_value, *values)
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
......
......@@ -381,6 +381,13 @@ def test_cycle
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册