class Recorder::Tape
Attributes
data[R]
item[R]
Public Class Methods
new(item)
click to toggle source
# File lib/recorder/tape.rb, line 12 def initialize(item) @item = item @data = Data.new(item) item.instance_variable_set(:@recorder_dirty, true) end
Public Instance Methods
record_create()
click to toggle source
# File lib/recorder/tape.rb, line 19 def record_create data = data_for(:create, recorder_options) record(event: :create, data: data) if data.any? end
record_destroy()
click to toggle source
# File lib/recorder/tape.rb, line 31 def record_destroy data = data_for(:destroy, recorder_options) record(event: :destroy, data: data) if data.any? end
record_update()
click to toggle source
# File lib/recorder/tape.rb, line 25 def record_update data = data_for(:update, recorder_options) record(event: :update, data: data) if data.any? end
Protected Instance Methods
data_for(event, options)
click to toggle source
# File lib/recorder/tape.rb, line 43 def data_for(event, options) data.data_for(event, options) end
record(params)
click to toggle source
# File lib/recorder/tape.rb, line 47 def record(params) Recorder::Tape.record( { item_type: item.class.to_s, item_id: item.id, **params }, item.recorder_options ) end
recorder_options()
click to toggle source
# File lib/recorder/tape.rb, line 39 def recorder_options item.respond_to?(:recorder_options) ? item.recorder_options : {} end