Class: Zanders::Base
- Inherits:
-
Object
- Object
- Zanders::Base
- Defined in:
- lib/zanders/base.rb
Direct Known Subclasses
Class Method Summary collapse
Class Method Details
.connect(options = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/zanders/base.rb', line 4 def self.connect( = {}) requires!(, :username, :password) Net::FTP.open(Zanders.config.ftp_host, [:username], [:password]) do |ftp| ftp.passive = true yield ftp end rescue Net::FTPPermError raise Zanders::NotAuthenticated end |
.requires!(hash, *params) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/zanders/base.rb', line 23 def self.requires!(hash, *params) params.each do |param| if param.is_a?(Array) raise ArgumentError.new("Missing required parameter: #{param.first}") unless hash.has_key?(param.first) = param[1..-1] raise ArgumentError.new("Parameter: #{param.first} must be one of: #{.join(', ')}") unless .include?(hash[param.first]) else raise ArgumentError.new("Missing required parameter: #{param}") unless hash.has_key?(param) end end end |