Class: Mtl::Rails::CardFilePresenter
- Inherits:
-
Object
- Object
- Mtl::Rails::CardFilePresenter
- Defined in:
- lib/mtl/rails/card_file_presenter.rb
Overview
Private Specialised renderer for the file card element used in a file collection
Instance Attribute Summary collapse
-
#view ⇒ Object
readonly
Returns the value of attribute view.
Instance Method Summary collapse
-
#initialize(view) ⇒ CardFilePresenter
constructor
A new instance of CardFilePresenter.
- #render(filename, href, params = {}) ⇒ Object
- #render_body(filename, params) ⇒ Object
Constructor Details
#initialize(view) ⇒ CardFilePresenter
Returns a new instance of CardFilePresenter.
10 11 12 |
# File 'lib/mtl/rails/card_file_presenter.rb', line 10 def initialize(view) @view = view end |
Instance Attribute Details
#view ⇒ Object (readonly)
Returns the value of attribute view.
8 9 10 |
# File 'lib/mtl/rails/card_file_presenter.rb', line 8 def view @view end |
Instance Method Details
#render(filename, href, params = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/mtl/rails/card_file_presenter.rb', line 14 def render(filename, href, params = {}) params = params.reverse_merge type: File.extname(filename).delete('.') view.link_to render_body(filename, params), href, title: params[:title] || filename, target: '_blank', class: ['card-panel', params[:preview] ? 'card-panel-image' : nil], data: data(filename, params), style: if params[:preview] "background-image: url(#{URI.encode(params[:preview])})" end end |
#render_body(filename, params) ⇒ Object
27 28 29 |
# File 'lib/mtl/rails/card_file_presenter.rb', line 27 def render_body(filename, params) view.safe_join [label(filename, params[:title]), infos(params), delete(params)] end |