class EpubForge::Action::FileTransformer

Attributes

original_filename[R]
transformed_filename[R]

Public Class Methods

new( file ) click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 5
def initialize( file )
  @original_filename = file
  @transformed_filename = "#{@original_filename}.epubforge.#{sprintf("%07i", rand(1000000))}.tmp"
  @out = File.open( @transformed_filename, "w" )
  @finished = false
end

Public Instance Methods

<<( input ) click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 32
def <<( input )
  write( input )
end
abort() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 20
def abort
  return if finished?
  @finished = true
  FileUtils.rm( @transformed_filename )
end
finalize() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 12
def finalize
  return if finished?
  @finished = true
  @out.close
    
  FileUtils.mv( @transformed_filename, @original_filename )
end
finished?() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 54
def finished?
  @finished
end
new_size() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 50
def new_size
  File.size?( @transformed_filename )
end
old_size() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 46
def old_size
  File.size?( @original_filename )
end
read_file() click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 36
def read_file
  File.read( @original_filename )
end
readlines( ) { |line| ... } click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 40
def readlines( &block )
  File.readlines( @original_filename ) do |line|
    yield line
  end
end
write( input ) click to toggle source
# File lib/epubforge/action/file_transformer.rb, line 26
def write( input )
  return if finished?
  @out << input
  @out.flush
end