Module: ActiveAdmin::VersionsHelper
- Defined in:
- lib/active_admin/versions_helper.rb
Constant Summary collapse
- BOOLEAN_VALUES =
[true, false].freeze
Instance Method Summary collapse
- #pretty_version_attribute_value(attr, value) ⇒ Object
- #version_attributes_diff(changes) ⇒ Object
- #versions_diff_classes(removed, added) ⇒ Object
Instance Method Details
#pretty_version_attribute_value(attr, value) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/active_admin/versions_helper.rb', line 5 def pretty_version_attribute_value(attr, value) case value when Array Arbre::Context.new(context: self) do text_node attr.humanize.singularize ul do value.each do |v| li { context.pretty_version_attribute_value(attr, v).html_safe } end end end.to_s when Hash Arbre::Context.new(context: self) do text_node attr.humanize.singularize ul do value.each do |k, v| li { "#{k.humanize}: #{context.pretty_version_attribute_value(k, v)}".html_safe } end end end.to_s when /\.(jpg|png|gif)\z/i image_tag value when ActiveRecord::Base pretty_format(value) else value end end |
#version_attributes_diff(changes) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/active_admin/versions_helper.rb', line 34 def version_attributes_diff(changes) Arbre::Context.new do ul do changes.keys.sort.each { |attr| li(attr.humanize) } end end.to_s end |
#versions_diff_classes(removed, added) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/active_admin/versions_helper.rb', line 42 def versions_diff_classes(removed, added) if (added.present? && removed.present?) || (BOOLEAN_VALUES.include?(added) && BOOLEAN_VALUES.include?(removed)) old_class = 'changed' new_class = old_class elsif added.present? || BOOLEAN_VALUES.include?(added) new_class = 'added' elsif removed.present? || BOOLEAN_VALUES.include?(removed) old_class = 'removed' end [old_class, new_class] end |