Module FileType
In: lib/file_type.rb

Methods

Classes and Modules

Module FileType::Extractable
Module FileType::ExtractableDir
Class FileType::Bz2
Class FileType::CorruptedTarballError
Class FileType::Directory
Class FileType::ExtractError
Class FileType::Gem
Class FileType::Generic
Class FileType::Gz
Class FileType::Ruby
Class FileType::Tar
Class FileType::TarBz2
Class FileType::TarGz
Class FileType::Unknown
Class FileType::Yaml
Class FileType::Zip

Public Class methods

[Source]

# File lib/file_type.rb, line 308
  def self.guess ( path )
    guess_class(path).new(path)
  end

[Source]

# File lib/file_type.rb, line 297
  def self.guess_class ( path )
    lazy_init
    max = -1
    best = Unknown
    path = path.to_path
    @@subclasses.each do |klass|
      max, best = klass.match_type(path, max, best)
    end
    return best
  end

[Source]

# File lib/file_type.rb, line 312
  def self.lazy_init
    return if defined? @@init
    @@init = true
    @@subclasses.delete_if do |klass|
      klass.abstract? or not (klass.is_a? Class) # and constants.include? klass)
    end
    @@subclasses.each do |klass|
      ext = klass.extension
      raise ArgumentError, "Bad extension #{ext}" unless ext.is_a? Regexp
    end
  end

[Source]

# File lib/file_type.rb, line 12
  def self.register ( klass )
    @@subclasses << klass
  end

[Validate]