Module: ActiveRecord::Undo

Defined in:
lib/active_record/undo.rb,
lib/active_record/undo/engine.rb,
lib/active_record/undo/purger.rb,
lib/active_record/undo/version.rb,
lib/active_record/undo/undo_log.rb,
lib/active_record/undo/purge_job.rb,
lib/active_record/undo/configuration.rb,
lib/active_record/undo/undo_log_item.rb,
lib/active_record/undo/cascade_handler.rb,
lib/active_record/undo/model_extension.rb,
lib/active_record/undo/cascade_handler/record_updater.rb,
lib/active_record/undo/cascade_handler/association_finder.rb,
sig/active_record/undo.rbs

Defined Under Namespace

Modules: ModelExtension Classes: CascadeHandler, Configuration, Engine, Error, PurgeJob, Purger, UndoLog, UndoLogItem

Constant Summary collapse

VERSION =

Returns:

  • (String)
'0.1.4'

Class Method Summary collapse

Class Method Details

.configObject



27
28
29
# File 'lib/active_record/undo.rb', line 27

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



31
32
33
# File 'lib/active_record/undo.rb', line 31

def configure
  yield(config)
end

.registered_modelsObject



35
36
37
# File 'lib/active_record/undo.rb', line 35

def registered_models
  @registered_models ||= Set.new
end

.undoable_modelsObject



39
40
41
42
43
44
45
46
# File 'lib/active_record/undo.rb', line 39

def undoable_models
  eager_load_rails!
  models = registered_models.to_a
  if defined?(ActiveRecord::Base)
    models += ActiveRecord::Base.descendants.select { |m| m.respond_to?(:undoable_column) }
  end
  models.uniq
end