Sha256: 185837fc95386a03f66c1b0465a70860d6bf418fc85563e6639ac57b6f22ae76
Contents?: true
Size: 1.08 KB
Versions: 5
Compression:
Stored size: 1.08 KB
Contents
require 'xftp/helpers/logging' require 'xftp/dsl/block_evaluator' module XFTP module Session # @abstract Base class for xftp session adapters # @api private class Base include DSL::BlockEvaluator include Helpers::Logging attr_reader :uri, :credentials, :settings # Creates a session adapter instance # @param [URI] uri the remote uri # @param [Hash] settings the adapter connection settings def initialize(uri, settings = {}) @uri = uri @credentials = settings.delete(:credentials) || {} @settings = settings end # Opens a new connection, evaluates the given block and closes the connection # @param [Proc] callback the callback to operate on a connection session def start(&callback) log 'starting' open evaluate(&callback) close log 'done' end protected def ensure_relative_path!(operation, path) fail ArgumentError, "Absolute path can't be specified for `#{operation}`" if Pathname.new(path).absolute? end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
xftp-0.5.0 | lib/xftp/session/base.rb |
xftp-0.4.4 | lib/xftp/session/base.rb |
xftp-0.4.3 | lib/xftp/session/base.rb |
xftp-0.4.2 | lib/xftp/session/base.rb |
xftp-0.4.1 | lib/xftp/session/base.rb |