lib/picky/extensions/symbol.rb in picky-3.4.0 vs lib/picky/extensions/symbol.rb in picky-3.4.1
- old
+ new
@@ -3,18 +3,21 @@
class Symbol # :nodoc:all
# :keys.each_subtoken # => yields each of [:keys, :key, :ke, :k]
# :keys.each_subtoken(2) # => yields each of [:keys, :key, :ke]
#
- def each_subtoken from_length = 1
+ def each_subtoken from_length = 1, range = nil
sub = self.id2name
+ sub = sub[range] if range
+
+ yield sub.intern
+
size = sub.size
from_length = size + from_length + 1 if from_length < 0
from_length = size if size < from_length
from_length = 1 if from_length < 1
- yield self
size.downto(from_length + 1) { yield sub.chop!.intern }
end
# :keys.each_intoken # => yields each of [:keys, :key, :eys, :ke, :ey, :ys, :k, :e, :y, :s]
# :keys.each_intoken(2) # => yields each of [:keys, :key, :eys, :ke, :ey, :ys]
\ No newline at end of file