class Progstr::Filer::Uploader
Public Instance Methods
delete_attachment(attachment)
click to toggle source
# File lib/filer/uploader.rb, line 49 def delete_attachment(attachment) raise ApiError.new("message" => "Deleting a blank attachment.") if attachment.blank? url = "#{Progstr::Filer.url_prefix}files/#{attachment.id}" begin response = RestClient.delete(url, json_headers) UploadStatus.new MultiJson.decode(response) rescue MultiJson::DecodeError => unknown_error raise ApiError.new("message" => "Unknown server error when requesting #{url}:\r\n#{unknown_error}") rescue => e raise ApiError.new(MultiJson.decode(e.response)) end end
file_info(attachment)
click to toggle source
# File lib/filer/uploader.rb, line 62 def file_info(attachment) raise ApiError.new("message" => "Getting info for a blank attachment.") if attachment.blank? url = "#{Progstr::Filer.url_prefix}files/info/#{attachment.id}" begin response = RestClient.get(url, json_headers) FileInfo.new MultiJson.decode(response) rescue MultiJson::DecodeError => unknown_error raise ApiError.new("message" => "Unknown server error when requesting #{url}:\r\n#{unknown_error}") rescue => e raise ApiError.new(MultiJson.decode(e.response)) end end
json_headers()
click to toggle source
# File lib/filer/uploader.rb, line 20 def json_headers { :accept => "application/json", :"X-Progstr-Filer-Auth-Token" => Progstr::Filer.generate_auth_token, } end
upload_attachment(attachment)
click to toggle source
# File lib/filer/uploader.rb, line 27 def upload_attachment(attachment) url = "#{Progstr::Filer.url_prefix}upload/new" puts "upload to: #{url}" begin response = RestClient.post(url, { :upload1 => attachment.file, :authToken => Progstr::Filer.generate_auth_token, :uploader => self.class.name, :id => attachment.id }, json_headers) result = UploadStatus.new MultiJson.decode(response) attachment.mark_uploaded! result rescue => e if e.respond_to?(:response) && !e.response.nil? raise ApiError.new(MultiJson.decode(e.response)) else raise end end end