Prompt class

Methods
Attributes
[R] work @work store the present working directory as a Directory object.
Public Class methods
[](path)
# File lib/folio/prompt.rb, line 244
    def self.[](path)
      new(path)
    end
new(*path)
# File lib/folio/prompt.rb, line 20
    def initialize(*path)
      opts = (Hash===path.last ? path.pop : {})
      mode(opts)

      if path.empty?
        path = Dir.pwd
      else
        path = File.join(*path)
      end

      raise FileNotFound unless ::File.exist?(path)
      raise FileNotFound unless ::File.directory?(path)

      @path = Directory.new(path)
    end
Public Instance methods
+(fname)

Join paths.

This method is also aliased as /
# File lib/folio/prompt.rb, line 62
    def +(fname)
      @work =+ fname
    end
/(fname)

Alias for #+

[](name)

Alias for file

cd(dir, &block)
# File lib/folio/prompt.rb, line 99
    def cd(dir, &block)
      #dir = localize(dir)
      if block
        @work.cd(dir, &block)
      else
        @work += dir
      end
    end
chmod(mode, list, options)
# File lib/folio/prompt.rb, line 189
    def chmod(mode, list, options)
      list = localize(list)
      fileutils.chmod(mode, list, options)
    end
chmod_r(mode, list, options)
# File lib/folio/prompt.rb, line 194
    def chmod_r(mode, list, options)
      list = localize(list)
      fileutils.chmod_r(mode, list, options)
    end
chown(user, group, list, options)

alias_method :chmod_R, :chmod_r

# File lib/folio/prompt.rb, line 200
    def chown(user, group, list, options)
      list = localize(list)
      fileutils.chown(user, group, list, options)
    end
chown_r(user, group, list, options)
# File lib/folio/prompt.rb, line 205
    def chown_r(user, group, list, options)
      list = localize(list)
      fileutils.chown_r(user, group, list, options)
    end
cp(src, dest, options)

cp(list, dir, options)

# File lib/folio/prompt.rb, line 148
    def cp(src, dest, options)
      src  = localize(src)
      dest = localize(dest)
      fileutils.cp(src, dest, options)
    end
cp_r(src, dest, options)

cp_r(list, dir, options)

# File lib/folio/prompt.rb, line 155
    def cp_r(src, dest, options)
      src  = localize(src)
      dest = localize(dest)
      fileutils.cp_r(src, dest, options)
    end
directories()

Returns Enumerator of documents.

# File lib/folio/prompt.rb, line 90
    def directories ; work.directories ; end
directory_entries()

Lists directory entries.

# File lib/folio/prompt.rb, line 74
    def directory_entries
      work.directory_entries
    end
document_entries()

Lists directory entries.

# File lib/folio/prompt.rb, line 79
    def document_entries
      work.document_entries
    end
documents()

Returns Enumerator of directories.

# File lib/folio/prompt.rb, line 87
    def documents ; work.documents ; end
entries()

Lists all entries.

This method is also aliased as ls
# File lib/folio/prompt.rb, line 68
    def entries
      work.entries
    end
file(name)

Get the FileObject for the given file name.

This method is also aliased as []
# File lib/folio/prompt.rb, line 56
    def file(name)
      FileObject(name)
    end
files()

Returns Enumerator of files objects.

# File lib/folio/prompt.rb, line 84
    def files ; work.files ; end
glob(*patterns)

Glob pattern.

# File lib/folio/prompt.rb, line 93
    def glob(*patterns)
      opts = (::Integer===patterns.last ? patterns.pop : 0)
      pattern = localize(pattern)
      ::Dir.glob(pattern, opts).each{ |f| FileObject[f] }
    end
install(src, dest, mode, options)
# File lib/folio/prompt.rb, line 183
    def install(src, dest, mode, options)
      src  = localize(src)
      dest = localize(dest)
      fileutils.install(src, dest, mode, options)
    end
ln(old, new, options)

ln(list, destdir, options)

# File lib/folio/prompt.rb, line 128
    def ln(old, new, options)
      old = localize(old)
      new = localize(new)
      fileutils.ln(old, new, options)
    end
ln_s(old, new, options)

ln_s(list, destdir, options)

# File lib/folio/prompt.rb, line 135
    def ln_s(old, new, options)
      old = localize(old)
      new = localize(new)
      fileutils.ln_s(old, new, options)
    end
ln_sf(old, new, options)
# File lib/folio/prompt.rb, line 141
    def ln_sf(old, new, options)
      old = localize(old)
      new = localize(new)
      fileutils.ln_sf(old, new, options)
    end
ls()

Alias for entries

mkdir(dir, options)
# File lib/folio/prompt.rb, line 112
    def mkdir(dir, options)
      dir = localize(dir)
      fileutils.mkdir(dir, options)
    end
mkdir_p(dir, options)
# File lib/folio/prompt.rb, line 117
    def mkdir_p(dir, options)
      dir = localize(dir)
      fileutils.mkdir_p(dir, options)
    end
mode(opts=nil)

Opertaton mode. This can be :noop, :verbose or :dryrun. The later is the same as the first two combined.

# File lib/folio/prompt.rb, line 38
    def mode(opts=nil)
      return @mode unless opts
      opts.each do |key, val|
        next unless val
        case key
        when :noop
          @mode = (@mode == :verbose ? :dryrun : :noop)
        when :verbose
          @mode = (@mode == :noop ? :dryrun : :verbose)
        when :dryrun
          @mode = :dryrun
        end
      end
    end
mv(src, dest, options)

mv(list, dir, options)

# File lib/folio/prompt.rb, line 162
    def mv(src, dest, options)
      src  = localize(src)
      dest = localize(dest)
      fileutils.mv(src, dest, options)
    end
rm(list, options)
# File lib/folio/prompt.rb, line 168
    def rm(list, options)
      list = localize(list)
      fileutils.rm(list, options)
    end
rm_r(list, options)
# File lib/folio/prompt.rb, line 173
    def rm_r(list, options)
      list = localize(list)
      fileutils.rm_f(list, options)
    end
rm_rf(list, options)
# File lib/folio/prompt.rb, line 178
    def rm_rf(list, options)
      list = localize(list)
      fileutils.rm_rf(list, options)
    end
rmdir(dir, options)
# File lib/folio/prompt.rb, line 122
    def rmdir(dir, options)
      dir = localize(dir)
      fileutils.rmdir(dir, options)
    end
to_s()
# File lib/folio/prompt.rb, line 53
    def to_s ; work.to_s ; end
touch(list, options)

alias_method :chown_R, :chown_r

# File lib/folio/prompt.rb, line 211
    def touch(list, options)
      list = localize(list)
      fileutils.touch(list, options)
    end