Sha256: 9de55c7480b09140cea7b6f66ab9d1b097480b802212799fce924d19d7e8551a

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

require 'active_support/core_ext/object'
require 'active_support/core_ext/hash'

require 'configuration'
require 'xftp/version'
require 'xftp/errors'
require 'xftp/client'

require_relative 'initializers/i18n'

# Interface unification for FTP/SFTP protocols
module XFTP
  # Config accessor
  def self.config
    @configuration ||= Configuration.new
  end

  # For a block { |config| ... }
  # @yield the (see #config)
  def self.configure
    yield config
  end

  # Initiates a new session
  #
  # @param [String] :url the remote host url
  # @param [Hash] settings the connection settings
  # @option settings [Hash<Symbol, String>] :credentials the authentication credentials
  #
  # @raise [URI::InvalidURIError] if url given is not a correct URI
  # @raise [XFTP::MissingArgument] if some of the required settings are missing
  # @raise [XFTP::NotSupportedProtocol] if protocol detected by schema is not supported
  #
  # @see Net::SSH
  # @see Net::FTP
  def self.start(url, settings = {}, &callback)
    Client.start(url, settings, &callback)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
xftp-0.4.1 lib/xftp.rb
xftp-0.3.3 lib/xftp.rb
xftp-0.3.1 lib/xftp.rb
xftp-0.2.1.pre.alpha lib/xftp.rb