class Smokegraphy::FileResourceController
Public Class Methods
new(config)
click to toggle source
# File lib/smokegraphy/resource_controller/file_resource_controller.rb, line 8 def initialize(config) @config = config end
Public Instance Methods
add_execute_permission(filename)
click to toggle source
# File lib/smokegraphy/resource_controller/file_resource_controller.rb, line 39 def add_execute_permission(filename) begin File.chmod 0755, "#{@config["file"]["path"]}/#{filename}" rescue => evar print "Failed to chmod #{filename}: #{evar}" end end
cleanup(filename = nil)
click to toggle source
# File lib/smokegraphy/resource_controller/file_resource_controller.rb, line 47 def cleanup(filename = nil) if filename then filepath = "#{@config["file"]["path"]}/#{filename}" FileUtils.rm(filepath, :force => true) @uploaded.delete filepath else @uploaded.each do |f| FileUtils.rm(f, :force => true) end end end
init()
click to toggle source
# File lib/smokegraphy/resource_controller/file_resource_controller.rb, line 12 def init @uploaded = [] end
transfer_source_file(filename, testsuite, destname = nil)
click to toggle source
# File lib/smokegraphy/resource_controller/file_resource_controller.rb, line 16 def transfer_source_file(filename, testsuite, destname = nil) begin source = "source/#{testsuite}/#{filename}" destname ||= filename destfile_path = "#{@config["file"]["path"]}/#{destname}" if File.exist?(source) then document_root = @config["http"]["document_root"] erb = ERB.new(File.new(source).read) File.open(destfile_path, "w") { |out| out << erb.result(binding) } @uploaded << destfile_path if !(@uploaded.include? destfile_path) else raise "no such file: #{source}" end rescue => evar raise "Failed to copy #{source}: #{evar}" end end