Class: Prawnto::CompileSupport
- Inherits:
-
Object
- Object
- Prawnto::CompileSupport
- Defined in:
- lib/prawnto/compile_support.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #ie_request? ⇒ Boolean
-
#initialize(controller) ⇒ CompileSupport
constructor
A new instance of CompileSupport.
- #pull_options ⇒ Object
-
#set_cache_control ⇒ Object
TODO: kept around from railspdf– maybe not needed anymore? should check.
- #set_content_type ⇒ Object
- #set_disposition ⇒ Object
- #set_headers ⇒ Object
- #set_other_headers_for_ie_ssl ⇒ Object
-
#set_pragma ⇒ Object
TODO: kept around from railspdf– maybe not needed anymore? should check.
- #ssl_request? ⇒ Boolean
Constructor Details
#initialize(controller) ⇒ CompileSupport
Returns a new instance of CompileSupport.
5 6 7 8 9 |
# File 'lib/prawnto/compile_support.rb', line 5 def initialize(controller) @controller = controller @options = set_headers end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
3 4 5 |
# File 'lib/prawnto/compile_support.rb', line 3 def @options end |
Instance Method Details
#ie_request? ⇒ Boolean
25 26 27 |
# File 'lib/prawnto/compile_support.rb', line 25 def ie_request? @controller.request.env['HTTP_USER_AGENT'] =~ /msie/i end |
#pull_options ⇒ Object
11 12 13 |
# File 'lib/prawnto/compile_support.rb', line 11 def @controller.send :compute_prawnto_options || {} end |
#set_cache_control ⇒ Object
TODO: kept around from railspdf– maybe not needed anymore? should check.
50 51 52 53 54 55 56 |
# File 'lib/prawnto/compile_support.rb', line 50 def set_cache_control if ssl_request? && ie_request? @controller.headers['Cache-Control'] = 'maxage=1' # added to make ie ssl pdfs work (per naisayer) else @controller.headers['Cache-Control'] ||= ie_request? ? 'no-cache, must-revalidate' : '' end end |
#set_content_type ⇒ Object
58 59 60 |
# File 'lib/prawnto/compile_support.rb', line 58 def set_content_type @controller.response.content_type ||= Mime::PDF end |
#set_disposition ⇒ Object
62 63 64 65 66 |
# File 'lib/prawnto/compile_support.rb', line 62 def set_disposition inline = [:inline] ? 'inline' : 'attachment' filename = [:filename] ? "filename=\"#{[:filename]}\"" : nil @controller.headers["Content-Disposition"] = [inline,filename].compact.join(';') end |
#set_headers ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/prawnto/compile_support.rb', line 15 def set_headers unless defined?(ActionMailer) && defined?(ActionMailer::Base) && @controller.is_a?(ActionMailer::Base) set_pragma set_cache_control set_content_type set_disposition set_other_headers_for_ie_ssl end end |
#set_other_headers_for_ie_ssl ⇒ Object
33 34 35 36 37 38 |
# File 'lib/prawnto/compile_support.rb', line 33 def set_other_headers_for_ie_ssl return unless ssl_request? && ie_request? headers['Content-Description'] = 'File Transfer' headers['Content-Transfer-Encoding'] = 'binary' headers['Expires'] = '0' end |
#set_pragma ⇒ Object
TODO: kept around from railspdf– maybe not needed anymore? should check.
41 42 43 44 45 46 47 |
# File 'lib/prawnto/compile_support.rb', line 41 def set_pragma if ssl_request? && ie_request? @controller.headers['Pragma'] = 'public' # added to make ie ssl pdfs work (per naisayer) else @controller.headers['Pragma'] ||= ie_request? ? 'no-cache' : '' end end |
#ssl_request? ⇒ Boolean
29 30 31 |
# File 'lib/prawnto/compile_support.rb', line 29 def ssl_request? @controller.request.ssl? end |