Class: Pdfserve::Merge
- Inherits:
-
Object
- Object
- Pdfserve::Merge
- Defined in:
- lib/pdfserve/merge.rb
Constant Summary collapse
- PATH =
'/api/v1/pdf/merge'
Instance Method Summary collapse
-
#initialize(api_endpoint:, api_token: nil) ⇒ Merge
constructor
A new instance of Merge.
- #merge(file_urls, output_path, rotations: nil) ⇒ Object
Constructor Details
Instance Method Details
#merge(file_urls, output_path, rotations: nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/pdfserve/merge.rb', line 20 def merge(file_urls, output_path, rotations: nil) uri = URI(api_endpoint) uri.query = URI.encode_www_form(rotations.map { |angle| ['rotations', angle] }) if rotations && !rotations.empty? request = Net::HTTP::Post.new(uri) request['token'] = api_token unless api_token.nil? form_data = file_urls.map { |url| ['files', url] } request.set_form form_data, 'multipart/form-data' response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http| http.request(request) end if response.is_a?(Net::HTTPSuccess) File.binwrite(output_path, response.body) puts 'Success!' OpenStruct.new(success: true, errors: '') else puts 'Failed!' OpenStruct.new(success: false, errors: response.) end end |