class Emarsys::Broadcast::SFTP
Public Class Methods
new(config)
click to toggle source
# File lib/emarsys/broadcast/sftp.rb, line 7 def initialize(config) validate_config config @config = config end
Public Instance Methods
upload_file(local_path, remote_path)
click to toggle source
# File lib/emarsys/broadcast/sftp.rb, line 12 def upload_file(local_path, remote_path) Net::SFTP.start(@config.sftp_host, @config.sftp_user, password: @config.sftp_password) do |sftp| sftp.upload!(local_path, remote_path) end end
Private Instance Methods
validate_config(config)
click to toggle source
# File lib/emarsys/broadcast/sftp.rb, line 20 def validate_config(config) raise ConfigurationError, 'configuration is nil, did you forget to configure the gem?' unless config raise ConfigurationError, 'sftp_host must be configured' unless string_present? config.sftp_host raise ConfigurationError, 'sftp_user must be configured' unless string_present? config.sftp_user raise ConfigurationError, 'sftp_password must be configured' unless string_present? config.sftp_password unless within_range? config.sftp_port, 1..65535 raise ConfigurationError, 'sftp_port must be integer between 1 and 65535' end end