class WebDAV
Attributes
password[RW]
project[RW]
user[RW]
Public Class Methods
new(config = {})
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 10 def initialize config = {} self.user = config[:user] self.password = config[:pass] || config[:password] self.project = config[:project] || config[:pid] raise 'ERROR! :user, :password, & :project must be passed in the configuration.' unless self.user && self.project && self.password @uri = URI.parse("https://secure-di.gooddata.com/project-uploads/") end
Public Instance Methods
delete(file)
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 99 def delete file Net::HTTP.start(@uri.host, @uri.port, :use_ssl => @uri.scheme == 'https') do |http| request = Net::HTTP::Delete.new @uri+file request.basic_auth self.user, self.password response = http.request request if response.is_a?(Net::HTTPSuccess) response.body else false end end end
download(file)
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 51 def download file Net::HTTP.start(@uri.host, @uri.port, :use_ssl => @uri.scheme == 'https') do |http| request = Net::HTTP::Get.new @uri+file request.basic_auth self.user, self.password response = http.request request if response.is_a?(Net::HTTPSuccess) response.body else false end end end
exists?(file)
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 75 def exists? file Net::HTTP.start(@uri.host, @uri.port, :use_ssl => @uri.scheme == 'https') do |http| request = Net::HTTP::Get.new "#{@uri.to_s}#{file}/" request.basic_auth self.user, self.password response = http.request request if response.is_a?(Net::HTTPSuccess) if response.code == "200" true else false end else false end end end
Also aliased as: include?
get_marketo_etl_controller()
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 67 def get_marketo_etl_controller self.download('marketo_connector.json') end
set_marketo_etl_controller()
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 71 def set_marketo_etl_controller self.upload('marketo_connector.json') end
test()
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 22 def test begin test = self.exists? 'file' puts "#{Time.now} => SETUP: Connect to GoodData WebDAV...success!" if GoodDataMarketo.logging true rescue false end end
upload(file)
click to toggle source
# File lib/gooddata_marketo/helpers/webdav.rb, line 32 def upload file http = Net::HTTP.new(@uri.host, @uri.port) http.use_ssl = @uri.scheme == 'https' request = Net::HTTP::Put.new("#{@uri.request_uri}/#{file}") request.basic_auth self.user, self.password request.body_stream = File.open(file) request["Content-Type"] = "multipart/form-data" request.add_field('Content-Length', File.size(file)) response = http.request(request) if response.is_a?(Net::HTTPSuccess) response else false end end