Module: Upkeep::Replay

Defined in:
lib/upkeep/replay.rb

Defined Under Namespace

Modules: Payload, Value Classes: ActiveRecordRelationValue, ActiveRecordValue, ArrayValue, Collection, CollectionMember, ControllerPage, ControllerTurboFrame, Empty, Fragment, HashValue, LiteralValue, RailsFormBuilderValue, Recipe, RefusedActiveRecordRelationValue, Template, UnsupportedValue

Class Method Summary collapse

Class Method Details

.active_record_value(record) ⇒ Object



359
360
361
# File 'lib/upkeep/replay.rb', line 359

def active_record_value(record)
  ActiveRecordValue.new(model: record.class.name, id: record.id)
end

.payload(value) ⇒ Object



339
340
341
# File 'lib/upkeep/replay.rb', line 339

def payload(value)
  Payload.from_h(value)
end

.symbolize_keys(value) ⇒ Object



448
449
450
451
452
453
454
455
456
457
458
459
460
# File 'lib/upkeep/replay.rb', line 448

def symbolize_keys(value)
  case value
  when Hash
    value.each_with_object({}) do |(key, nested_value), result|
      normalized_key = key.respond_to?(:to_sym) ? key.to_sym : key
      result[normalized_key] = symbolize_keys(nested_value)
    end
  when Array
    value.map { |nested_value| symbolize_keys(nested_value) }
  else
    value
  end
end

.value(value) ⇒ Object



343
344
345
# File 'lib/upkeep/replay.rb', line 343

def value(value)
  Value.from_h(value)
end

.value_hash_from_h(values) ⇒ Object



347
348
349
350
351
# File 'lib/upkeep/replay.rb', line 347

def value_hash_from_h(values)
  values.to_h.each_with_object({}) do |(key, nested_value), snapshot|
    snapshot[key.to_s] = Value.from_h(nested_value)
  end
end

.value_hash_to_h(values) ⇒ Object



353
354
355
356
357
# File 'lib/upkeep/replay.rb', line 353

def value_hash_to_h(values)
  values.to_h.each_with_object({}) do |(key, nested_value), snapshot|
    snapshot[key] = Value.from_h(nested_value).to_h
  end
end