module HasLogs::HasLogs::InstanceMethods

Public Instance Methods

create_log() click to toggle source
# File lib/has_logs/has_logs.rb, line 58
def create_log
  return if self.class.have_type == :mutual && self.new_record?

  values = {}
  self.class.logging_attrs.each do |attr|
    values[attr] = (self.class.have_type == :mutual ? send("#{attr}_was") : send(attr))
  end
  logs.build(values).save
  return
end
latest_log() click to toggle source
# File lib/has_logs/has_logs.rb, line 50
def latest_log
  logs.order(:created_at).last
end
oldest_log() click to toggle source
# File lib/has_logs/has_logs.rb, line 54
def oldest_log
  logs.order(:created_at).first
end
set_attrs() click to toggle source
# File lib/has_logs/has_logs.rb, line 69
def set_attrs
  self.class.logging_attrs.each do |attr|
    self.send("#{attr}=", latest_log.try(:"#{attr}"))
  end
end