module LogBook::Recorder::ClassMethods
Public Instance Methods
has_log_book_records(options = {})
click to toggle source
# File lib/log_book/recorder.rb, line 6 def has_log_book_records(options = {}) class_attribute :recording_options, instance_writer: false self.recording_options = options has_many :records, -> { order(created_at: :asc) }, as: :subject, class_name: 'LogBook::Record' scope :with_records, -> { joins(:records) } on = Array.wrap(options[:on]) after_create :store_changes if on.empty? || on.include?(:create) after_update :store_changes if on.empty? || on.include?(:update) after_destroy :store_changes if on.empty? || on.include?(:destroy) extend LogBook::Recorder::RecordingClassMethods include LogBook::Recorder::RecordingInstanceMethods end