Sha256: e9a677fa770594b876bdade4999d4b0abac075887eca2264b704a56bc6526d42

Contents?: true

Size: 627 Bytes

Versions: 18

Compression:

Stored size: 627 Bytes

Contents

module Ftpd

  # A proxy file system driver that sends a "450" or "550" error
  # reply in response to FileSystemError exceptions.

  class FileSystemErrorTranslator

    include Error

    def initialize(file_system)
      @file_system = file_system
    end

    def respond_to?(method)
      @file_system.respond_to?(method) || super
    end

    def method_missing(method, *args)
      @file_system.send(method, *args)
    rescue PermanentFileSystemError => e
      permanent_error e
    rescue TransientFileSystemError => e
      transient_error e
    rescue FileSystemError => e
      permanent_error e
    end

  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
ftpd-0.16.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.15.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.14.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.13.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.12.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.11.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.10.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.9.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.7.1 lib/ftpd/file_system_error_translator.rb
ftpd-0.8.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.7.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.6.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.5.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.4.0 lib/ftpd/file_system_error_translator.rb
ftpd-0.3.2 lib/ftpd/file_system_error_translator.rb
ftpd-0.3.1 lib/ftpd/file_system_error_translator.rb
ftpd-0.2.2 lib/ftpd/file_system_error_translator.rb
ftpd-0.2.1 lib/ftpd/file_system_error_translator.rb