Please sign in to comment.
Sequences support Enumerators
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 #339, #378
- Loading branch information...
Showing with 32 additions and 2 deletions.