serialize

in 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