Module: Upkeep::Replay

Defined in:
lib/upkeep/replay.rb

Defined Under Namespace

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

Class Method Summary collapse

Class Method Details

.active_record_value(record) ⇒ Object



305
306
307
# File 'lib/upkeep/replay.rb', line 305

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

.payload(value) ⇒ Object



285
286
287
# File 'lib/upkeep/replay.rb', line 285

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

.symbolize_keys(value) ⇒ Object



394
395
396
397
398
399
400
401
402
403
404
405
406
# File 'lib/upkeep/replay.rb', line 394

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



289
290
291
# File 'lib/upkeep/replay.rb', line 289

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

.value_hash_from_h(values) ⇒ Object



293
294
295
296
297
# File 'lib/upkeep/replay.rb', line 293

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



299
300
301
302
303
# File 'lib/upkeep/replay.rb', line 299

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