Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This introduces an EnumeratorAdapter so everything coming in looks like an Enumerator. It doesn't use the adapter if the #peek method exists on the object. This allows for sequences like: sequence(:cities, %w[Boston Atlanta Detroit Seattle].cycle) This also makes it easier to cycle through arrays and ranges, since they can be converted to Enumerators rather easily. sequence(:month, (1..12).to_enum) sequence(:month, %w[foo bar baz].to_enum) This doesn't handle when calling Range#step out of the box, because Ruby returns an Enumerator but ActiveSupport 3.x returns an array, meaning #to_enum still needs to be called. Closes thoughtbot#339, thoughtbot#378
- Loading branch information