class Immobilienscout::API::Attachment
Public Class Methods
add(is24_id, binary_file, metadata)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 7 def add(is24_id, binary_file, metadata) raise ArgumentError unless is24_id.present? && binary_file.present? && metadata.present? url = add_url(is24_id) metadata_file = create_metadata_file(metadata) params = { attachment: binary_file, metadata: metadata_file } parsed_response = Immobilienscout::Request.new(url, params).post_with_multipart unless parsed_response.success? raise Immobilienscout::Errors::InvalidRequest, parsed_response.messages.map(&:messages) end parsed_response end
destroy(is24_id, attachment_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 43 def destroy(is24_id, attachment_id) raise ArgumentError unless is24_id.present? raise ArgumentError unless attachment_id.present? url = destroy_url(is24_id, attachment_id) parsed_response = Immobilienscout::Request.new(url).delete Immobilienscout::RequestErrorHandler.handle(parsed_response) unless parsed_response.success? parsed_response end
put_order(is24_id, params)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 22 def put_order(is24_id, params) raise ArgumentError unless params.present? parsed_response = Immobilienscout::Request.new(put_order_url(is24_id), params).put unless parsed_response.success? raise Immobilienscout::Errors::InvalidRequest, parsed_response.messages.map(&:messages) end parsed_response end
retrieve_all(is24_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 33 def retrieve_all(is24_id) raise ArgumentError unless is24_id.present? url = retrieve_all_url(is24_id) parsed_response = Immobilienscout::Request.new(url).get Immobilienscout::RequestErrorHandler.handle(parsed_response) unless parsed_response.success? parsed_response end
Private Class Methods
add_url(is24_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 61 def add_url(is24_id) "#{Immobilienscout::Client.api_url}/restapi/api/offer/v1.0/user/me/realestate/#{is24_id}/attachment" end
create_metadata_file(params)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 56 def create_metadata_file(params) metadata_object = StringIO.new(params.to_json) UploadIO.new(metadata_object, 'application/json') end
destroy_url(is24_id, attachment_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 75 def destroy_url(is24_id, attachment_id) "#{Immobilienscout::Client.api_url}/restapi/api/"\ "offer/v1.0/user/me/realestate/#{is24_id}/attachment/#{attachment_id}" end
put_order_url(is24_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 65 def put_order_url(is24_id) "#{Immobilienscout::Client.api_url}/restapi/api/"\ "offer/v1.0/user/me/realestate/#{is24_id}/attachment/attachmentsorder" end
retrieve_all_url(is24_id)
click to toggle source
# File lib/immobilienscout/api/attachment.rb, line 70 def retrieve_all_url(is24_id) "#{Immobilienscout::Client.api_url}/restapi/api/"\ "offer/v1.0/user/me/realestate/#{is24_id}/attachment" end