class Smokegraphy::FtpResourceController
Public Class Methods
new(config)
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 9 def initialize(config) @config = config end
Public Instance Methods
add_execute_permission(filename)
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 50 def add_execute_permission(filename) begin @@ftp.voidcmd("site chmod 755 #{filename}") rescue => evar print "Failed to chmod #{filename}: #{evar}" end end
cleanup(filename = nil)
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 58 def cleanup(filename = nil) if filename then files = @@ftp.nlst @@ftp.delete(filename) if files.include?(filename) @uploaded.delete filename else files = @@ftp.nlst @uploaded.each do |f| @@ftp.delete(f) if files.include?(f) end end end
close()
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 24 def close @@ftp.close end
init()
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 13 def init @uploaded = [] if (@config["deploy"] == "ftp" && $ftp == nil) then @@ftp = Net::FTPTLS.new(@config["ftp"]["server"], @config["ftp"]["username"], @config["ftp"]["password"]); @@ftp.passive = true @@ftp.debug_mode = false end end
transfer_source_file(filename, testsuite, destname = nil)
click to toggle source
# File lib/smokegraphy/resource_controller/ftp_resource_controller.rb, line 28 def transfer_source_file(filename, testsuite, destname = nil) begin source = "source/#{testsuite}/#{filename}" destname ||= filename if File.exist?(source) then document_root = @config["http"]["document_root"] temp = Tempfile.new("ftp_") File.open(temp.path, "w") { |out| out << ERB.new(File.new(source).read).result(binding) } @@ftp.put(temp.path, destname) temp.close @uploaded << destname if !(@uploaded.include? destname) else raise "no such file: #{source}" end rescue => evar raise "Failed to copy #{filename}: #{evar}" end end