app/models/effective/log.rb in effective_logging-1.7.1 vs app/models/effective/log.rb in effective_logging-1.8.0
- old
+ new
@@ -25,39 +25,26 @@
# status :string, :validates => [:presence, :inclusion => {:in => EffectiveLogging.statuses }]
# timestamps
# end
validates :message, presence: true
- validates :status, presence: true, inclusion: { in: (EffectiveLogging.statuses + [EffectiveLogging.log_changes_status, EffectiveLogging.trashable_status]) }
+ validates :status, presence: true, inclusion: { in: (EffectiveLogging.statuses + [EffectiveLogging.log_changes_status]) }
default_scope -> { order(updated_at: :desc) }
scope :logged_changes, -> { where(status: EffectiveLogging.log_changes_status)}
scope :changes, -> { where(status: EffectiveLogging.log_changes_status)}
- scope :trash, -> { where(status: EffectiveLogging.trashable_status)}
def to_s
- case status
- when EffectiveLogging.trashable_status
- [associated_type, associated_id].join(' ').presence || 'New Trash item'
- else
- "Log #{id}"
- end
+ "Log #{id}"
end
def log(message, status = EffectiveLogging.statuses.first, options = {})
EffectiveLogger.log(message, status, (options || {}).merge({:parent => self}))
end
def details
self[:details] || {}
- end
-
- # So this is a Trash item
- # When we delete ourselves, we restore this trash item first
- def restore_trashable!
- raise 'no attributes to restore from' unless details.kind_of?(Hash) && details[:attributes].present?
- associated_type.constantize.new(details[:attributes]).save!
end
# def next_log
# @next_log ||= Log.unscoped.order(:id).where(:parent_id => self.parent_id).where('id > ?', self.id).first
# end