Class: DeltaCore::Adapters::ActiveRecord

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/delta_core/adapters/active_record.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ActiveRecord

Returns a new instance of ActiveRecord.



8
9
10
# File 'lib/delta_core/adapters/active_record.rb', line 8

def initialize(config)
  @config = config
end

Instance Method Details

#load_snapshot(model) ⇒ Object



12
13
14
15
# File 'lib/delta_core/adapters/active_record.rb', line 12

def load_snapshot(model)
  raw = model.public_send(@config.snapshot_column)
  Snapshot.new(raw)
end

#lock_record(model) ⇒ Object



21
22
23
# File 'lib/delta_core/adapters/active_record.rb', line 21

def lock_record(model, &)
  model.with_lock(&)
end

#persist(model, serialized_json) ⇒ Object



17
18
19
# File 'lib/delta_core/adapters/active_record.rb', line 17

def persist(model, serialized_json)
  model.update_column(@config.snapshot_column, serialized_json)
end