Module: RailsConnector::CmsAccessible
- Included in:
- DefaultCmsController
- Defined in:
- lib/rails_connector/cms_accessible.rb
Instance Method Summary collapse
-
#deliver_file ⇒ Object
protected
Deliver the obj’s body as response by file or data.
-
#force_html_format ⇒ Object
protected
Enforce “html” as template format.
-
#render_obj_error(status, name) ⇒ Object
protected
This method is called when rendering an error caused by either #ensure_object_is_permitted or #ensure_object_is_active before filter.
Instance Method Details
#deliver_file ⇒ Object (protected)
Deliver the obj’s body as response by file or data. May respond with status 304 if a If-Modified-Since header is found.
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/rails_connector/cms_accessible.rb', line 90 def deliver_file if @obj.body_data_url redirect_to enforce_protocol_from_request(@obj.body_data_url) elsif stale?(last_modified: @obj.last_changed.utc) mime_type = @obj.mime_type mime_type += "; charset=utf-8" if %r{^text/}.match?(mime_type) if (filepath = @obj.body_data_path).present? send_file(File.(filepath), { type: mime_type, filename: @obj.filename, disposition: "inline" }) else # generics should send its body, empty files should be delivered as # empty files - and not lead to an application error send_data @obj.body || "", type: mime_type, filename: @obj.filename, disposition: "inline" end end end |
#force_html_format ⇒ Object (protected)
Enforce “html” as template format.
65 66 67 |
# File 'lib/rails_connector/cms_accessible.rb', line 65 def force_html_format request.format = :html end |
#render_obj_error(status, name) ⇒ Object (protected)
This method is called when rendering an error caused by either #ensure_object_is_permitted or #ensure_object_is_active before filter. It renders an error template located in “errors/*.html.erb” with given HTTP status and content type “text/html” and with no layout. Overwrite this method to change the error page.
53 54 55 56 57 58 59 60 61 |
# File 'lib/rails_connector/cms_accessible.rb', line 53 def render_obj_error(status, name) force_html_format render( template: "errors/#{status}_#{name}", layout: false, status: status, content_type: Mime[:html] ) end |