Sha256: aac27eb1d8d26851b1fa8bdb341cb54d533af85cf74f7cdca68d4550113f3546

Contents?: true

Size: 521 Bytes

Versions: 48

Compression:

Stored size: 521 Bytes

Contents

# Extending the Symbol class.
#
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
    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

48 entries across 48 versions & 1 rubygems

Version Path
picky-3.0.0.pre1 lib/picky/extensions/symbol.rb
picky-2.7.0 lib/picky/extensions/symbol.rb
picky-2.6.0 lib/picky/extensions/symbol.rb
picky-2.5.2 lib/picky/internals/extensions/symbol.rb
picky-2.5.1 lib/picky/internals/extensions/symbol.rb
picky-2.5.0 lib/picky/internals/extensions/symbol.rb
picky-2.4.3 lib/picky/internals/extensions/symbol.rb
picky-2.4.2 lib/picky/internals/extensions/symbol.rb
picky-2.4.1 lib/picky/internals/extensions/symbol.rb
picky-2.4.0 lib/picky/internals/extensions/symbol.rb
picky-2.3.0 lib/picky/internals/extensions/symbol.rb
picky-2.2.1 lib/picky/internals/extensions/symbol.rb
picky-2.2.0 lib/picky/internals/extensions/symbol.rb
picky-2.1.2 lib/picky/internals/extensions/symbol.rb
picky-2.1.1 lib/picky/internals/extensions/symbol.rb
picky-2.1.0 lib/picky/internals/extensions/symbol.rb
picky-2.0.0 lib/picky/internals/extensions/symbol.rb
picky-2.0.0.pre3 lib/picky/internals/extensions/symbol.rb
picky-2.0.0.pre2 lib/picky/internals/extensions/symbol.rb
picky-2.0.0.pre1 lib/picky/internals/extensions/symbol.rb