string_enumerator¶ ↑
You provide a list of replacements (“replace [color] with red and blue”) and then call the #enumerate
method on a String
:
?> u = StringEnumerator.new(:color => [ 'red', 'blue' ]) => #<StringEnumerator...> ?> u.enumerate 'http://example.com/[color]' => [ 'http://example.com/blue', 'http://example.com/red' ]
The start and end of placeholders are marked with “[” and “]” (although you can override this if you want, see the tests.)
Multiple placeholders per string¶ ↑
You can define as many replacements as you want, which will exponentially increase the final number of enumerations
?> u2 = StringEnumerator.new(:color => [ 'red', 'blue' ], :taste => [ 'savory', 'sweet' ]) => #<StringEnumerator...> ?> u2.enumerate 'http://example.com/[color]/[taste]' => [ 'http://example.com/blue/savory', 'http://example.com/blue/sweet', 'http://example.com/red/savory', 'http://example.com/red/sweet' ]
Thanks to¶ ↑
Copyright 2011 Seamus Abshere