class DocmagoClient::Railtie
Public Class Methods
setup_actioncontroller()
click to toggle source
# File lib/docmago_client/railtie.rb, line 10 def self.setup_actioncontroller unless Mime::Type.lookup_by_extension('pdf') Mime::Type.register 'application/pdf', :pdf end ActionController::Renderers.add :pdf do |filename, options| default_options = { name: filename || controller_name, test_mode: Rails.env.development?.to_s, base_uri: url_for(only_path: false), resource_path: Rails.root.join('public').to_s, assets: Rails.application.assets, zip_resources: true } options = default_options.merge(options) options[:content] ||= render_to_string(options) res = DocmagoClient.create(options) logger.info "Docmago response - status: #{res.code}; size: #{res.body.size}" if res.code == 200 send_data res.body, filename: "#{options[:name]}.pdf", type: 'application/pdf', disposition: 'attachment' else render inline: res.body, status: res.code end end end