Class: ChangeLog
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ChangeLog
- Defined in:
- lib/changes_are_logged/change_log.rb
Constant Summary collapse
- IGNORED_KEYS =
["updated_at"]
Class Method Summary collapse
Instance Method Summary collapse
- #has_changes? ⇒ Boolean
- #pretty_change_hashes ⇒ Object
- #pretty_changes(html = false) ⇒ Object
-
#user ⇒ Object
FIXME too complected with lumos_rails.
Class Method Details
.pretty_value(v) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/changes_are_logged/change_log.rb', line 53 def self.pretty_value(v) if v.nil? "(nil)" elsif v == "" "(empty)" else v.pretty_inspect end end |
Instance Method Details
#has_changes? ⇒ Boolean
39 40 41 |
# File 'lib/changes_are_logged/change_log.rb', line 39 def has_changes? changes_logged && changes_logged.any? end |
#pretty_change_hashes ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/changes_are_logged/change_log.rb', line 43 def pretty_change_hashes changes_logged.map do |k, (from, to)| { :key => k, :from => self.class.pretty_value(from), :to => self.class.pretty_value(to) } end end |
#pretty_changes(html = false) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/changes_are_logged/change_log.rb', line 13 def pretty_changes(html = false) change_string = "" if has_changes? changes_logged.each do |k,v| unless IGNORED_KEYS.include?(k) from = self.class.pretty_value(v[0]) to = self.class.pretty_value(v[1]) change_string << (html ? "• " : "- ") change_string << (html ? "<i>#{k}</i>" : k) change_string << " CHANGED FROM #{from} TO #{to}" change_string << (html ? "<br/>" : "\n") end end change_string.html_safe else "No changes!" end end |
#user ⇒ Object
FIXME too complected with lumos_rails
34 35 36 37 |
# File 'lib/changes_are_logged/change_log.rb', line 34 def user return nil unless user_id user_is_staff ? StaffUser.find(user_id) : User.find(user_id) end |