Sha256: c7369f994a9240f94207f6a7db5f745be2610234cdb885c3a15d64d25d9684f2

Contents?: true

Size: 687 Bytes

Versions: 10

Compression:

Stored size: 687 Bytes

Contents

class File

  # Returns onlt the first portion of the directory of
  # a file path name.
  #
  #   File.rootname('lib/jump.rb')  #=> 'lib'
  #   File.rootname('/jump.rb')     #=> '/'
  #   File.rootname('jump.rb')      #=> '.'
  #
  # CREDIT: Trans
  #
  def self.rootname(path)
    # this should be fairly robust
    path_re = Regexp.new('[' + Regexp.escape(File::Separator + %q{\/}) + ']')

    head, tail = path.split(path_re, 2)
    return '.' if path == head
    return '/' if head.empty?
    return head
  end

  #def self.rootname( file_name )
  #  i = file_name.index('/')
  #  if i
  #    r = file_name[0...i]
  #    r == '' ? '/' : r
  #  else
  #    '.'
  #  end
  #end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
facets-2.8.4 lib/core/facets/file/rootname.rb
facets-2.8.3 lib/core/facets/file/rootname.rb
facets-2.8.2 lib/core/facets/file/rootname.rb
facets-2.8.1 lib/core/facets/file/rootname.rb
facets-2.8.0 lib/core/facets/file/rootname.rb
facets-2.7.0 lib/core/facets/file/rootname.rb
facets-2.6.0 lib/core/facets/file/rootname.rb
facets-2.5.0 lib/core/facets/file/rootname.rb
facets-2.5.1 lib/core/facets/file/rootname.rb
facets-2.5.2 lib/core/facets/file/rootname.rb