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.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/rails_connector/cms_accessible.rb', line 93 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 mime_type =~ /^text\// 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.
68 69 70 |
# File 'lib/rails_connector/cms_accessible.rb', line 68 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.
56 57 58 59 60 61 62 63 64 |
# File 'lib/rails_connector/cms_accessible.rb', line 56 def render_obj_error(status, name) force_html_format render( :template => "errors/#{status}_#{name}", :layout => false, :status => status, :content_type => Mime::HTML ) end |