Sha256: e8960da18d23dec50f198790a3d1da4a46e18dc7b0a09ab3c7c6c755baec689a
Contents?: true
Size: 789 Bytes
Versions: 14
Compression:
Stored size: 789 Bytes
Contents
# Extending the Symbol class. # class Symbol # :keys.subtokens # => [:keys, :key, :ke, :k] # :keys.subtokens(2) # => [:keys, :key, :ke] # def subtokens from_length = 1 sub = self.id2name size = sub.size from_length = size + from_length if from_length < 0 from_length = size if size < from_length result = [self] size.downto(from_length + 1) { result << sub.chop!.intern } result end # TODO Duplicate code. # def each_subtoken from_length = 1 sub = self.id2name 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 end
Version data entries
14 entries across 14 versions & 1 rubygems