in templates/ruby/lib/facebook_ads/field_types/upload_file.rb [75:100]
def serialize(value)
case value
when String, File, Tempfile
if value.is_a?(String)
raise InvalidParameterError, "No such file: #{value}" unless File.exists?(value)
value = File.new(value)
end
ext = File.extname(value.path).gsub(/^./,'')
category, content_type = content_type_for(ext)
raise 'This type of file is not supported' unless content_type
if category == :video
FacebookAds::VideoIO.new(value, content_type)
else
::UploadIO.new(value, content_type)
end
when UploadIO
value
else
raise 'Unknown data type this field'
end
end