Class TMail::FilePort
In: actionmailer/lib/action_mailer/vendor/tmail/port.rb
Parent: Port

Methods

==   aopen   copy_file   copy_to   cp   eql?   hash   inspect   move_to   mv   new   read_all   remove   reproducible?   ropen   size   wopen  

External Aliases

filename -> ident

Attributes

filename  [R] 

Public Class methods

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 48
    def initialize( fname )
      @filename = File.expand_path(fname)
      super()
    end

Public Instance methods

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 57
    def ==( other )
      other.respond_to?(:filename) and @filename == other.filename
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 88
    def aopen( &block )
      File.open(@filename, 'a', &block)
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 115
    def copy_to( port )
      if FilePort === port
        copy_file @filename, port.filename
      else
        File.open(@filename) {|r|
        port.wopen {|w|
            while s = r.sysread(4096)
              w.write << s
            end
        } }
      end
    end
cp( port )

Alias for copy_to

eql?( other )

Alias for #==

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 63
    def hash
      @filename.hash
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 67
    def inspect
      "#<#{self.class}:#{@filename}>"
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 104
    def move_to( port )
      begin
        File.link @filename, port.filename
      rescue Errno::EXDEV
        copy_to port
      end
      File.unlink @filename
    end
mv( port )

Alias for move_to

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 93
    def read_all
      ropen {|f|
          return f.read
      }
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 100
    def remove
      File.unlink @filename
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 71
    def reproducible?
      true
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 80
    def ropen( &block )
      File.open(@filename, &block)
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 75
    def size
      File.size @filename
    end

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 84
    def wopen( &block )
      File.open(@filename, 'w', &block)
    end

Private Instance methods

from fileutils.rb

[Source]

# File actionmailer/lib/action_mailer/vendor/tmail/port.rb, line 133
    def copy_file( src, dest )
      st = r = w = nil

      File.open(src,  'rb') {|r|
      File.open(dest, 'wb') {|w|
          st = r.stat
          begin
            while true
              w.write r.sysread(st.blksize)
            end
          rescue EOFError
          end
      } }
    end

[Validate]