Module: VersionsHelper
- Defined in:
- app/helpers/versions_helper.rb
Overview
View helper: versions.
Instance Method Summary collapse
- #version_data_format_changes(data) ⇒ Object
- #version_data_format_json(data) ⇒ Object
- #version_data_format_original(data) ⇒ Object
- #version_event_badge(event) ⇒ Object
Instance Method Details
#version_data_format_changes(data) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/helpers/versions_helper.rb', line 29 def version_data_format_changes(data) return unless (changes = data&.last) original = data&.first if original.respond_to?(:to_h) && changes.respond_to?(:to_h) diff = Hashdiff.diff(original, changes) tag.pre JSON.pretty_generate(JSON.parse(diff.to_json)) else version_data_format_json(changes) end end |
#version_data_format_json(data) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/helpers/versions_helper.rb', line 9 def version_data_format_json(data) if data.is_a?(Hash) begin json_out = JSON.pretty_generate(JSON.parse(data.to_json)) json_out.first(100) tag.pre(json_out) rescue JSON::ParserError data end else data end end |
#version_data_format_original(data) ⇒ Object
23 24 25 26 27 |
# File 'app/helpers/versions_helper.rb', line 23 def version_data_format_original(data) return unless (original = data&.first) version_data_format_json(original) end |
#version_event_badge(event) ⇒ Object
4 5 6 7 |
# File 'app/helpers/versions_helper.rb', line 4 def version_event_badge(event) css_class_suffix = { 'create' => 'success', 'update' => 'secondary', 'destroy' => 'danger' }[event.to_s] tag.span(event, class: "badge bg-#{css_class_suffix}") end |