Sha256: 27a6316659ecf428e5bd08d7097524648bac4e9760bc665e82852309f85849e7

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

require 'drbqs/utility/transfer/transfer_client'

module DRbQS
  class Server
    class TransferSetting
      attr_accessor :host, :user, :directory

      def initialize(host, user, directory)
        @host = host
        @user = user
        @directory = directory
        @setup_server = false
      end

      def prepared_directory
        @setup_server && @directory
      end

      def information
        info = "directory: #{@directory}"
        info << ", sftp: #{@user}@#{@host}" if @host && @user
        info
      end

      def setup_server(directory, opts = {})
        return nil if @setup_server
        @directory = directory || @directory
        return nil if !@directory
        @setup_server = true
        @directory = File.expand_path(@directory)
        FileUtils.mkdir_p(@directory)
        @host = opts[:host] || @host
        @user = opts[:user] || @user || ENV['USER']
        true
      end

      def get_client(same_host)
        @setup_server ? DRbQS::Transfer::Client.new(@directory, same_host, @host, @user) : nil
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
drbqs-0.1.1 lib/drbqs/server/transfer_setting.rb
drbqs-0.1.0 lib/drbqs/server/transfer_setting.rb
drbqs-0.0.19 lib/drbqs/server/transfer_setting.rb
drbqs-0.0.18 lib/drbqs/server/transfer_setting.rb
drbqs-0.0.17 lib/drbqs/server/transfer_setting.rb
drbqs-0.0.16 lib/drbqs/server/transfer_setting.rb