Class: Workarea::Admin::ChangesViewModel
- Inherits:
-
ApplicationViewModel
- Object
- ApplicationViewModel
- Workarea::Admin::ChangesViewModel
- Defined in:
- app/view_models/workarea/admin/changes_view_model.rb
Instance Method Summary collapse
Instance Method Details
#id ⇒ Object
4 5 6 |
# File 'app/view_models/workarea/admin/changes_view_model.rb', line 4 def id Digest::SHA1.hexdigest(model.to_s) end |
#present_changes ⇒ Object
8 9 10 |
# File 'app/view_models/workarea/admin/changes_view_model.rb', line 8 def present_changes model.reject { |k, v| k.blank? || v.all?(&:blank?) } end |
#relevant_fields ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'app/view_models/workarea/admin/changes_view_model.rb', line 12 def relevant_fields present_changes .keys .map { |k| remove_id_from_field_name(k) } .map(&:humanize) .map(&:downcase) .map { |n| t("workarea.admin.fields.#{n}", default: n) } end |
#to_html ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/view_models/workarea/admin/changes_view_model.rb', line 21 def to_html if model.blank? || relevant_fields.blank? t('workarea.admin.fields', count: 0).html_safe elsif relevant_fields.size > 3 %Q( <a href="#changes-#{id}" data-tooltip="true"> #{t('workarea.admin.fields', count: relevant_fields.size)} </a> <div id="changes-#{id}" class="tooltip-content"> <p>#{relevant_fields.to_sentence}</p> </div> ).html_safe else relevant_fields .map { |f| "<strong>#{f}</strong>" } .to_sentence .html_safe end end |